现在我的React容器看起来像这样:
class TableData extends Component
{
some React Functions and state changes.
<Sidebar passdata as props/>
}
在补充工具栏中我有一个模态,需要将状态更新为补充工具栏组件和TableData组件。
我不知道你是否可以将道具传递给React中的父组件,但我知道不建议这样做。在这些类型的问题中,推荐的行动方案是什么?
答案 0 :(得分:2)
你是不对的,你不能将道具传递给父组件。但是,父组件可以将回调作为prop传递给它的子项,在值发生更改时调用它。
class TableData extends React.Component {
constructor(props) {
// ...
this.state = {
name: originalState,
};
}
handleStateChange(newState) {
this.setState({ name: newState });
}
render() {
// ...
<Sidebar onStateChange={this.handleStateChange.bind(this)} />
// ...
}
}
class Sidebar extends React.Component {
// ...
this.props.onStateChange(newState);
// ...
}