【发布时间】:2017-07-24 20:48:44
【问题描述】:
我想让我的子组件有一个引用,但我不希望用户在创建组件时必须指定引用。所以说我有这样的事情:
<Parent>
<Child />
<Child />
</Parent>
我希望父组件能够访问子组件的状态。简单的方法是为每个组件添加一个 ref,但我希望这是在 constructor() 函数期间完成的事情,以便将其从最终用户中抽象出来,因为我希望这些组件被概括。
有没有一种干净的方法可以让父组件可以访问子组件的状态,例如在创建子组件时,您有类似的东西:
class Child extends Component {
constructor(){
super();
this.state = {'abc': 123}
this.ref=Math.random();
}
}
这样我就可以在 Parent 类中执行以下操作:
class Parent extends Component {
componentWillMount(){
console.log(this.refs);
}
}
所以我希望能够声明一组组件,例如:
class App extends Component {
render(){
<Parent> <Child /> <Child /> </Parent>
}
}
这样我就可以访问每个子组件及其在父组件遍历子组件时的状态。
【问题讨论】:
-
您不能从父组件访问子组件状态。可以从它自己的类访问、修改状态。
-
你实际上可以使用 ref
-
我的意思是从父组件状态设置子组件状态。你不能这样做
标签: reactjs