我想将数据从子级解析为父级,我有尝试解决问题的方法
How to parse data from child to parent using reactjs?
我打印该状态,显示的是前一个动作的状态,而不是上一个动作的状态
我尝试实现此功能以根据所单击的菜单显示内容 例: 我有3个菜单 - 一种 -B -C
当我第一次单击菜单时,例如A。控制台中的状态为”,然后第二次单击B时,控制台中的状态为A
这是我的代码
父母
g = sns.lmplot(x="release", y=variable, hue=hue, data=data, fit_reg=False)
current_palette = sns.color_palette()
medians = data.groupby([hue]).median()[variable].tolist()
for i in range(len(medians)):
g.ax.axhline(medians[i], c=current_palette[i])
孩子
changeMenu= (menu) =>{
this.setState({
menu: menu
});
console.log('menu',menu); // Show State
}
render(){
return (
<LeftMenuMycommission active="0" menu = {(value) => this.changeMenu(value)}/>
有人可以帮我发现问题吗?
任何帮助,谢谢您:)
答案 0 :(得分:1)
It's not guaranteed that state is updated immediately.,您需要使用回调函数,然后调用父方法以将子组件状态正确地传递给父组件:
menuClick = (menu_name, active) =>{
this.setState({
menu: menu_name,
}, () => {
this.props.menu(this.state.menu);
})
}
或者,componentDidUpdate将执行相同的工作:
componentDidUpdate() {
this.props.menu(this.state.menu) // only called after component is updated
}