Javascript 在中传递道具时不会产生任何效果

Javascript 在中传递道具时不会产生任何效果,javascript,html,reactjs,Javascript,Html,Reactjs,首先,这样做有意义吗 其次,我将解释我为什么要这样做 我有一个组件,可以让用户单击2个选项中的1个。要么是,要么不是。 他们要么加入yesArray要么加入noArray。此组件称为决策 单击“是”或“否”后,我将渲染谢谢组件。我希望说“是”的人的数组和说“不”的人的数组显示在这个感谢页面上 问题是数组的逻辑在Decision中,但我希望它显示在上,谢谢但是如果我从Decision组件传递这样的支持: <Thanks showYesArray={this.state.yesArray

首先,这样做有意义吗

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

我有一个组件,可以让用户单击2个选项中的1个。要么是,要么不是。 他们要么加入yesArray要么加入noArray。此组件称为
决策

单击“是”或“否”后,我将渲染
谢谢
组件。我希望说“是”的人的数组和说“不”的人的数组显示在这个感谢页面上

问题是数组的逻辑在
Decision
中,但我希望它显示在
上,谢谢
但是如果我从
Decision
组件传递这样的支持:

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

然后,每当呈现
时,这将呈现
组件,但在我的父组件中,
应仅在由状态更改触发时呈现,这可能与呈现
时不同


如果需要,可以发布更多代码并进行更多解释

您可以使用shouldComponentUpdate()并在不需要更新时返回false。但是更多的代码可能非常有助于了解您的确切意思。

您可以使用类似于
状态的标志。决策
,最初为
,单击是/否时将其设置为
,并且仅当
真时才呈现
谢谢
组件

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

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

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

    <Thanks
      active={this.state.thanksActive}
      yesArray={this.state.yesArray}
      noArray={this.state.noArray}
    />
  )
}
render(){
返回(
)
}

然后如何将数组从Decision中的函数传递到??数组将处于容器的状态。您可以在handle函数中设置state。然后在Thanke组件中呈现该状态。所以我必须将所有逻辑删除到我的主父组件中,然后将其作为相应的道具传递下去?