У меня есть реактивный компонент (Parent
), внутри которого есть другой компонент (Child
), который обернут с использованием функции более высокого порядка (HOWrapper
). Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда компонент Parent
отображается, компонент Child
размонтирует, а затем снова монтирует. Мне нужно найти способ, который предотвращает размонтирование компонента Child
, но все равно продолжит его перенос в компонент, имя которого динамически назначается. Я также хочу, чтобы опция передавала дополнительные параметры функции HOWrapper
, которая также может быть динамически сгенерирована в функции render()
Parent
. Есть идеи?Как использовать функцию более высокого порядка (или альтернативу) для упаковки компонента React без постоянной развязки компонента?
компонент Родитель:
import { HOWrapper } from './somepath';
import Child from './someotherpath';
export default class Parent extends Component {
...
render(){
let ChildWrapper = HOWrapper(Child);
return (
<ChildWrapper {...this.props} />
);
}
}
функций высшего порядка:
export function HOWrapper(WrappedComponent) {
return class Blanket extends Component {
constructor(props) {
super(props);
this.state = {
...
};
}
...
render() {
return (
<WrappedComponent
{...this.props}
/>
);
}
}
}
Я не думаю, что вы используете HOC-компонент здесь. Почему вы не можете просто передать пользовательские реквизиты своему дочернему компоненту? В вашем примере вы не передаете какую-либо пользовательскую информацию в HOC, чтобы казалось, что вы можете просто экспортировать ребенка с помощью hoc, завернутого за один раз. – azium
Не знаете, откуда вы пришли: сможете ли вы предоставить и ответить демонстрируя это? – JoeTidee
Конечно, но я чувствую, что это будет неполным ответом, потому что вы не указали подробно, что вы пытаетесь сделать. – azium