React.js:从独立组件访问整个应用程序状态
React.js: Access Overall App State from a Standalone Component
我有一个不属于任何其他组件的组件。当用户点击链接时,页面会跳转到它,这是用react路由器实现的。
<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
从本质上讲,这涉及到创建"存储",存储数据,然后由React组件访问和显示。在您的示例中,您可以创建一个WeatherStationDataStore
,以active_device
ID为键-该链接另一端的组件可以从URL中获取ID,并调度一个调用WeatherStationDataStore.get(id)
的"Action"-如果需要任何服务器交互来获取数据,则可以通过存储对其进行抽象。
Flux的标准"待办事项列表"示例可在此处找到:https://facebook.github.io/flux/docs/todo-list.html并且是对这些概念的很好的介绍。
试试这个-
在链接组件-
<Link to={`/weather-stations/${this.props.active_device}`} state={{"foo":"bar"}} >view detail
</Link>
在链接的组件中
var data = this.props.location.state;
//doSomethingWithData(data.foo);
相关文章:
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 来自应用程序状态的Jquery数据表源
- 检测Ionic中特定的应用程序状态变化
- 使用AsyncStorage实例化持久应用程序状态
- 如何在类似Om的不可变应用程序状态下对关系数据进行建模
- 在节点.js中保存应用程序状态
- 在 React + Flux 中从子项更新应用程序状态
- 输入模式应用程序状态,直到下次使用 Jquery 单击
- Rails API-移动应用程序状态文本错误
- 什么'是在AngularJS中处理应用程序状态和事件广播的最佳实践
- React.js:从独立组件访问整个应用程序状态
- Backbone.js如何根据特定的应用程序状态定义一组自定义路由
- 使用基于应用程序状态/数据的UI路由器
- Ionic混合应用程序,在退出时保存应用程序状态/数据
- 在AJAX应用程序中保持web应用程序状态
- 在 react-redux 应用程序状态的数据结构中具有 didInvalidate 属性的目的是什么?
- 使用react路由器更改应用程序状态时出现问题
- React Redux-如何在应用程序状态中设置字段
- ExtJS 4 Web 应用程序状态管理