reactjs - Redux 简单路由器 - 更改状态和 URL

标签 reactjs redux react-router-redux

假设我有一些逻辑,用户有一个选项列表可供选择。当用户选择一个选项时,应用程序状态和 URL 应反射(reflect)此选择。我已经弄清楚了 URL 路由,但我想知道最佳策略。我想使用 redux-simple-router PushPath 并调度一个操作吗? redux-simple-router 是否有 API 可以直接通过路由更改应用程序的状态?或者我会在其他地方处理应用程序状态更改吗?代码如下:

    handleClick(value) {
        this.props.pushPath('/Options/' + value);
    }

    render() {
      return (
        <div className="container">
          <div>Search bar here</div>
           <div className={styles.tile_container}>
             {this.state.options.map(option =>
               <div name= {option.name} key={option.key}  onClick={this.handleClick.bind(this, option.name)}>{option.name}</div>
           )}
         </div>
      </div>
    );
  }

最佳答案

在我看来,路径只是应用程序 UI 状态的粗略反射(reflect)。 UI 的结构通过 React Router 从路径触发,但状态应该位于 Redux 中。我应该能够通过输入相同的路径来恢复 UI 状态,并且该路径应该根据 UI 状态的重大变化而改变。

所以基本上,当您想要设置“检查点”或重新配置布局时,您想要更改路由器,但您仍然需要dispatch操作来更改 Redux 存储的状态。

关于reactjs - Redux 简单路由器 - 更改状态和 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34716562/

相关文章:

javascript - ES6 React 属性未定义

typescript - 如何协调 TypeScript 的 `strictFunctionTypes` 与 React Router 和 Redux?

redux - React Router Redux ConnectedRouter 不随路由更改更新

javascript - Reducer 未捕获 LOCATION_CHANGE 操作

javascript - 是否可以在 React Native 中从其无状态组件子级更改父级的状态?

reactjs - 直到按下 2 'backspace' 才意识到 TextInput 是空的

javascript - 无法通过 React Router 传递 props

javascript - 如何在 JSX 中打印 props 对象,我收到 TypeError : Cannot read property of undefined

javascript - 使用服务器端代理避免react中的跨域策略错误

reactjs - React(w/react-redux)缓存选项