希望通过这方面的帮助获得一些知识.为了澄清,我仍在用Reactjs教育自己.
我有两个组件,A
和B
.我需要从中获取A
状态B
.那可能吗?
var A = React.createClass({ getInitialState(){ return {foo: 'bar'} }, ... }); var B = React.createClass({ getInitialState(){ return {x: 'y'} }, render(){ var a = ; var b = a.state.foo; // This was just a guess but I dont understand the docs for something like this. return({b}); } });
在B
的组件中,如何呈现A
状态,这是bar
什么?我希望有两个独立的组件.
我一直在阅读ref
但仍然无法弄清楚如何用refs完成我想要的东西.
反应版本:0.14.3
让我们来看看状态和道具的目的.组件的状态完全在组件内部.它永远不会在组件外部知道,可能/不会传递给子组件(作为道具).另一方面,道具是明确公开的,仅由组件使用.它们应该是将信息传递给组件的唯一方法.
在设计组件时,请始终考虑这一点,即多个组件所需的任何数据都不能是其中任何一个组件的状态.React鼓励单向数据流并跨越不同组件访问状态,从而使您的组件难以推理.
在你的情况下,由于B需要知道A有的一些信息,我建议这样的事情 -
A在适当的时间将此信息发布到Flux商店.
B订阅了相同的Flux商店,它会收到有关此
信息的通知并自行更新.