获取道具(或全局变量)

时间:2016-04-16 16:26:22

标签: reactjs react-router

我正在尝试在我的应用上设置一些全局变量,我想让所有组件都可以使用。让我们举例说,我希望将'language'和'status'属性传递给每个组件。此属性不会呈现给页面,而是将其添加到每个组件的props中,这样我就可以在每个组件加载并输出相应的样式和语言时检查该变量。

我希望它能像路由器中添加道具一样简单,但无论我尝试什么,道具都会在我的子组件上以“未定义”的形式返回(只有主要的layoutWrapper组件才能获得道具)。目前为止它的表现如下:

<div class="home-button">
<a href="http://melmencarelli.com/mentoring/">
<button>HOW WE WORK TOGETHER</button>
</a>
</div>

1 个答案:

答案 0 :(得分:2)

在处理全局级状态数据时,建议您使用某种状态框架,如Flux。我推荐Redux,因为它可以很好地减少样板代码,以便轻松地将app状态传递给任何连接的组件(并随后将这些组件订阅到状态中的任何更改)。

你所做的事情失败了,因为没有一致的创造方式&#34;全球&#34;道具;您可以使用context变量,但这是一个不稳定的功能,不建议用于生产。否则,您必须手动将您的道具从父级传递给子级。