5

假设我有一些逻辑,用户有一个可供选择的选项列表。当用户选择一个选项时,应用程序状态和 URL 应该反映这个选择。我已经弄清楚了 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>
    );
  }
4

1 回答 1

3

在我看来,路径只是应用程序 UI 状态的粗略反映。UI的结构通过 React Router 从路径触发,但状态应该在 Redux 中。我应该能够通过键入相同的路径来恢复 UI 状态,并且路径应该会随着 UI 状态的重大变化而改变。

所以基本上,当你想设置一个“检查点”或重新配置你的布局时,你想改变路由器,但你仍然需要dispatch采取行动来改变 Redux 存储的状态。

于 2016-01-11T15:00:06.667 回答