在React.js中的click事件中发送它们时保持绑定

时间:2016-11-10 17:32:17

标签: javascript reactjs state

我们有一个组件被发送到一个函数,然后在react.js中的其他地方呈现。这是为了能够打开具有给定内容的滑块。我们给那个子组件提供了父母的道具,当我们第一次加载时,一切都很好,但我们需要注意状态的变化。例如:

<Contact
  handleNew={() => globalSlider.openContentSlider({
    content: <PersonalContactDetail _flags={_flags} />
  })}
/>

当然_flags在打开时设置得恰当,但状态变化不会级联。

有什么想法吗?

2 个答案:

答案 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);
}