我知道关于什么时候把东西放在国家身上或者作为道具接受的主要问题,但是当我有适合两者的东西时呢?当父项处于活动状态(props)时,我的项目应该是“活动的”,并且还可以选择从单击事件(状态)切换此属性。
答案 0 :(得分:0)
听起来你想要的就是在父级状态下保存的parentActive
变量,并作为道具传递给子(ren)。然后一个childActive
变量保存在由您的点击事件切换的子项状态中。那么你只需要在孩子身上有一些逻辑/条件来确定它是否有效。例如:
// Within child component
if (this.props.parentActive || this.state.childActive) { }
通常,当您有一个需要逻辑的新值时,将其存储在状态中,在该组件中创建所需的单击处理程序,然后将其作为子项的prop传递(可能还有其单击处理程序)。在您的情况下,您需要父级中的值/活动标志的逻辑,以及子级中的值/活动标志的逻辑...所以听起来您想要在它们中设置状态,并传递父值作为孩子的道具。