Javascript 在React中单击为父级的父级设置状态?
因此,我是一个新手,仍然在学习,从父元素管理onClick很容易,但我不确定如何将单击向上发送一个或多个步骤到父元素的父元素。在我的设置中,组件类似于此页面>标题>菜单按钮。Header comp控制菜单的打开和关闭,但出于动画目的,我需要在页面父级中设置一个状态,以便它可以将其传递给Header的同级组件。当菜单按钮被点击时,我需要将其发送到页面的所有链接。有人能解释一下这是如何实现的吗?我发现的大多数示例都是关于一个直接的父-子onClick句柄的,我已经在用Header和Menu按钮组件做这个句柄了 请参见以下示例 使用已通过react组件继承链传递的单击处理程序Javascript 在React中单击为父级的父级设置状态?,javascript,reactjs,Javascript,Reactjs,因此,我是一个新手,仍然在学习,从父元素管理onClick很容易,但我不确定如何将单击向上发送一个或多个步骤到父元素的父元素。在我的设置中,组件类似于此页面>标题>菜单按钮。Header comp控制菜单的打开和关闭,但出于动画目的,我需要在页面父级中设置一个状态,以便它可以将其传递给Header的同级组件。当菜单按钮被点击时,我需要将其发送到页面的所有链接。有人能解释一下这是如何实现的吗?我发现的大多数示例都是关于一个直接的父-子onClick句柄的,我已经在用Header和Menu按钮组件做
function MenuButton(props) {
return <button onClick={props.onClick}>Do Something</button>
}
function Header(props) {
return (
<div>
<MenuButton onClick={props.onClick} />
</div>
)
}
功能菜单按钮(道具){
回来做点什么
}
功能标题(道具){
返回(
)
}
在父most组件中建立一个单击处理程序,并作为道具传递给子组件,如下所示
class Page extends Component {
constructor() {
super();
this.state = {
someStateToCache: false
};
this.clickHandler = this.clickHandler.bind(this); //bind context to click handler
}
clickHandler() {
this.setState({ someStateToCache: true });
}
render() {
return (
<div>
<Header onClick={this.clickHandler} />
</div>
);
}
}
类页扩展组件{
构造函数(){
超级();
此.state={
someStateToCache:错误
};
this.clickHandler=this.clickHandler.bind(this);//将上下文绑定到click handler
}
clickHandler(){
this.setState({someStateToCache:true});
}
render(){
返回(
);
}
}
在“提升状态”下的Facebook文档中找到了我的答案,但您的解释更简单,谢谢!很棒,快乐的编码=]