【发布时间】:2016-02-18 15:30:53
【问题描述】:
var A = React.createClass({
onTabChange:function(e, id){
this.setState( {tabIndex:id} );
//Inside this function I would like to get the state of B component
//to start from initial state, (i.e. call initialState() function)
},
render:function(){
return <div>
<FormTabs options={['A', 'B', 'C']} onChange={this.onTabChange} value={this.state.tabIndex} /> // This creates 3 simple tabs
<B x={5} y={8} z={10} />
</div>;
}
});
var B = React.createClass({
getInitialState:function(){
return {
x: a,
y: b,
z: c
}
},
render:function(){
this.state.x = this.props.x;
this.state.y = this.props.y;
this.state.z = this.props.z;
return <div>
//...
</div>
}
});
所以,我真正想要的是在 onTabChange 函数中删除 B 组件的实例。关于如何删除它的实例的任何帮助,以便当我调用时,它会进入 B.initialState() 函数。
【问题讨论】:
-
您能详细说明一下用例吗?您正在使用可变解决方案来解决此问题,但我确信有一种更具声明性的“类似反应”的方式来解决您的实际问题。
标签: reactjs react-native