首先,这样做有意义吗?

其次,我将解释为什么我要考虑这样做。

我有一个组件,可以让用户单击2个选项中的1个。是或否。
它们可以添加到yesArray或noArray中。此组件称为Decision

一旦他们单击“是”或“否”,我将渲染Thanks组件。我希望在此感谢页面上显示拒绝回答的人。

问题是使数组位于Decision中的逻辑,但是我希望将其显示在Thanks上,但是如果我从Decision组件中传递诸如此类的prop:

<Thanks
   showYesArray={this.state.yesArray}
/>


然后,这将在渲染<Thanks />时渲染<Decision />组件,但在我的父组件<Thanks />中,仅当它由状态更改触发时才渲染,这可能与渲染<Decision />时不同

如有必要,可以发布更多代码,并解释更多

最佳答案

该状态应位于同时包含“感谢”和“决策”元素的容器元素中。

render() {
  return (
    <Decision
      onYes={this.handleYes}
      onNo={this.handleNo}
    />

    <Thanks
      active={this.state.thanksActive}
      yesArray={this.state.yesArray}
      noArray={this.state.noArray}
    />
  )
}

09-27 07:23