Javascript 反应-通过回调更改child1的道具,并将新值传递给child2
在我的应用程序中,我有一个子组件“菜单”,其中“选择”状态由单击事件更新,如下所示:Javascript 反应-通过回调更改child1的道具,并将新值传递给child2,javascript,reactjs,Javascript,Reactjs,在我的应用程序中,我有一个子组件“菜单”,其中“选择”状态由单击事件更新,如下所示: onSelectChange(newSelect){ this.setState({ select: newSelect }); } <Route exact path='/menus' render={() => ( <Menus onSelectChange={this.onSelectCh
onSelectChange(newSelect){
this.setState({ select: newSelect });
}
<Route exact path='/menus' render={() => (
<Menus
onSelectChange={this.onSelectChange}
/>
)} />
菜单.jsx(子菜单):
然后我会在“App.jsx”中使用回调,如下所示:
onSelectChange(newSelect){
this.setState({ select: newSelect });
}
<Route exact path='/menus' render={() => (
<Menus
onSelectChange={this.onSelectChange}
/>
)} />
并将其传递给“菜单”组件,如下所示:
onSelectChange(newSelect){
this.setState({ select: newSelect });
}
<Route exact path='/menus' render={() => (
<Menus
onSelectChange={this.onSelectChange}
/>
)} />
但是我得到了console.log(this.props.select)
“未定义”
我遗漏了什么?您现在只将onSelectChange方法作为prop-to-Menu组件传递,要访问this.props.select,您需要将select作为prop-to-Menu传递
<Route exact path='/menus' render={() => (
<Menus
onSelectChange={this.onSelectChange}
select={this.state.select}
/>
)} />
您现在只将onSelectChange方法作为prop-to-Menu组件传递,要访问this.props.select,您需要将select作为prop-to-Menu传递
<Route exact path='/menus' render={() => (
<Menus
onSelectChange={this.onSelectChange}
select={this.state.select}
/>
)} />
请用更新的
此.state完成您的答案。选择正在菜单中打印的。jsx?@data\u garden编辑了我的答案。请用更新的此.state完成您的答案。选择正在菜单中打印的。jsx?@data\u garden编辑了我的答案。