我有两个反应成分:Question
和lose
。
这是lose
的状态-this.state = { display: none }
我在Question
中有一个按钮,我想创建一个功能,该功能将在单击时激活并更改lose
的状态。我该怎么办?
答案 0 :(得分:2)
假设lost
是父组件,则应声明一个事件处理程序,该事件处理程序以display
的状态控制lost
属性。
例如,您在lost
中写道:
changeDisplayToBlock = () => {
this.setState({display: 'block'})
}
您应该将此处理程序作为道具传递给组件Question
中的按钮。这意味着Question
必须是lost
的子代。
如果您的意思与Question
是父级的情况相反。然后,您需要在组件display
中拥有changeDisplayToBlock
状态和Question
事件处理程序。
我在这里使用的概念在React docs Lifting State Up中得到了很好的解释:)