我们有一个组件被发送到一个函数,然后在react.js中的其他地方呈现。这是为了能够打开具有给定内容的滑块。我们给那个子组件提供了父母的道具,当我们第一次加载时,一切都很好,但我们需要注意状态的变化。例如:
<Contact
handleNew={() => globalSlider.openContentSlider({
content: <PersonalContactDetail _flags={_flags} />
})}
/>
当然_flags在打开时设置得恰当,但状态变化不会级联。
有什么想法吗?
答案 0 :(得分:0)
尝试传递箭头函数返回标志而不是直接返回标志
答案 1 :(得分:0)
需要更新Contact组件上的属性,否则它将无法重新呈现(因此无法重新呈现您的PersonalContactDetail)。我当然不了解您的架构,但也许您可以将_flags传递给Contact组件,然后将它们作为参数传递回handleNew()处理程序....
<Contact flags={_flags}
handleNew={(flagArgs) => globalSlider.openContentSlider({
content: <PersonalContactDetail _flags={flagArgs} />
})}
/>
......在某处内联系:
if (this.props.handleNew) {
this.props.handleNew(this.props.flags);
}