我有一个看起来大致像这样的应用程序:
class App extends React.Component {
render(){
var ComponentTwo = this.props.getComponentTwo();
return (
<div>
<ComponentOne />
{ComponentTwo ? <ComponentTwo /> : []}
</div>
);
}
}
ComponentTwo并不总是相同的组件类,有时它需要与ComponentOne进行交互-即-从中选择某些元素并将一些侦听器附加到它们。
我希望此功能与ComponentTwo一起提供,因为只有在ComponentTwo加载时才需要它,并且它附带了很多代码。
允许一个组件动态扩展另一个兄弟组件的最佳实践是什么?
我相信在React中实现这种情况的正确方法是在ComponentTwo中执行某些操作后更改App组件的状态,然后将状态更改传递给ComponentOne:
onComponentTwoAction: function(someValueFromAction) {
this.setState({
componentOneProp: someValueFromAction
});
},
render: function(){
var ComponentTwo = this.props.getComponentTwo();
return (
<div>
<ComponentOne componentOneProp={this.state.componentOneProp}/>
{ComponentTwo ? <ComponentTwo onAction={this.onComponentTwoAction}/> : []}
</div>
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句