Reactjs 通过url刷新应用程序状态->;查询参数

Reactjs 通过url刷新应用程序状态->;查询参数,reactjs,redux,react-router-redux,Reactjs,Redux,React Router Redux,使用 如果我想基于url查询参数重新加载应用程序(Redux)状态,那么通过获取state.routing.locationbeforetransformations.query属性是正确的方法吗 它是有效的。。。只是想知道这是否正确。使用Redux连接的组件,您可以从MapStateTops的第二个参数访问路由器的道具: function mapStateToProps (state, ownProps) { return { num: state.items.num,

使用

如果我想基于url查询参数重新加载应用程序(Redux)状态,那么通过获取
state.routing.locationbeforetransformations.query
属性是正确的方法吗


它是有效的。。。只是想知道这是否正确。

使用Redux连接的组件,您可以从MapStateTops的第二个参数访问路由器的道具:

function mapStateToProps (state, ownProps) {
  return {
    num: state.items.num,
    query: ownProps.location.query
  }
}

export default connect(mapStateToProps, null)(YourComponent)


您也可以在此处查看演示。

使用Redux连接的组件,您可以从MapStateTrops的第二个参数访问路由器的道具:

function mapStateToProps (state, ownProps) {
  return {
    num: state.items.num,
    query: ownProps.location.query
  }
}

export default connect(mapStateToProps, null)(YourComponent)

您也可以在此处查看演示。

来自:

您不应该直接从Redux存储读取位置状态。这是因为React Router是异步运行的(用于处理动态加载的组件),并且组件树可能尚未与Redux状态同步更新。您应该依赖React路由器传递的道具,因为它们只有在它处理完所有异步代码后才会更新

正确的方法在文档中,但您只能在路由组件(您放入
中的组件)中执行

如果我想在某个内部组件中访问location属性,通常会传递该属性。

来自:

您不应该直接从Redux存储读取位置状态。这是因为React Router是异步运行的(用于处理动态加载的组件),并且组件树可能尚未与Redux状态同步更新。您应该依赖React路由器传递的道具,因为它们只有在它处理完所有异步代码后才会更新

正确的方法在文档中,但您只能在路由组件(您放入
中的组件)中执行

如果我想在某个内部组件中访问location属性,我通常会传递它