Если у меня есть компонент, например <Foo />
, которая делает что-то вроде этого:Реакция: Можно ли передать компонент другому компоненту через реквизит?
<div>
<Bar />
{/* ... */}
</div>
было бы возможно передать адвокатуры как свойство Foo? <Foo Bar={Bar}/>
. Так что я могу ссылаться на панель во время визуализации Foo:
render() {
const Bar = this.props.Bar;
return (
<div>
<Bar />
{/* ... */}
</div>
);
}
Я не знаю, если это было бы хорошей идеей, если честно, просто проверить, чтобы увидеть, если кто-то знает лучше, чем у меня.
Причина, по которой я хотел бы сделать что-то вроде этого, заключается в том, что я хочу протестировать компонент и думал о том, как вводить поддельные зависимости в компонент. Для проекта я думал об использовании Preact, который не работает с мелким рендером, поэтому я думал о том, что, возможно, сделал какую-то инъекцию зависимости.
Прохождение через компоненты, которые использует компонент, позволит мне подделать их во время тестирования, пропуская макеты.
Это хорошая идея? Или не на самом деле путь? ...
HOC будет лучшей альтернативой воспроизведению подобного поведения. В этой статье очень хорошо описывается такой подход. https://medium.com/@franleplant/react-higher-order-components-in-depth-cf9032ee6c3e#.r4mbzunhu – Deadfish