我有一个不属于任何其他组件的组件。当用户点击链接时,页面会跳转到该页面,这是使用react-router实现的。
<Link to={`/weather-stations/${this.props.active_device}`} >view detail
</Link>
而且我找不到将应用程序的状态传递给该组件的方法,例如:<ComponentName data={ this.state }/>
我想知道在 React 中执行此操作的推荐方法是什么?谢谢。
最佳答案
“官方”(即 Facebook 使用的)方法是通过 Flux 架构,如下所述:https://facebook.github.io/flux/docs/overview.html
本质上,这涉及创建“Stores”来保存数据,然后由 React 组件访问和显示这些数据。在您的示例中,您可以创建一个 WeatherStationDataStore
,以 active_device
ID 为键 - 该链接另一端的组件可以从 URL 中获取 ID 并调度一个调用 WeatherStationDataStore.get(id)
的“Action” - 如果需要任何服务器交互来获取数据,则可以通过存储进行抽象。
Flux 的标准“待办事项列表”示例可以在这里找到:https://facebook.github.io/flux/docs/todo-list.html并且是对这些概念的很好的介绍。
关于javascript - React.js : Access Overall App State from a Standalone Component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345733/