另一个组件中状态的改变

时间:2018-11-26 15:10:03

标签: reactjs

如何解决图纸中附带的问题?

我正在谈论不使用redux的最佳可能使用方式。

在嵌套组件中按下按钮时,另一个组件中的某些内容必须更改(它不会继承自自身)

例如,在一个组件中,我选择元素,在另一个组件中,我想显示细节。

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以让一个共享的父级保持您想要更改的状态,并传递给第一个组件,同时将onClick函数发送给另一个组件。然后,当一个组件通过onClick函数更改状态时,更改后的属性将传递给第二个组件。

答案 1 :(得分:0)

您不应通过一个组件从一个组件更改状态:

https://reactjs.org/docs/faq-state.html

  

props传递给组件(类似于功能参数)   而state是在组件内管理的(类似于变量   在函数中声明)。

对于组件之间的“状态”,您应该通过react-redux

使用商店中的道具

答案 2 :(得分:0)

首先,我建议您以反应来研究lift state up

现在,您将如何做:(只是一个伪示例)

ParentComponent

onClick={this.onClick} stateProps={this.state.stateProps}

onClick() {
  this.setState()
}

ComponentA

onClick={props.onClick}

ComponentB

console.log(props.stateProps)

该组件的使用方式如下:(再次只是一个伪示例)

<ParentComponent onClick={this.onClick} stateProps={this.state.stateProps}>
  <ComponentA onClick={props.onClick} />
  <ComponentB stateProps={props.stateProps} />
</ParentComponent>