Reactjs 使用本地状态作为redux存储的输入值

Reactjs 使用本地状态作为redux存储的输入值,reactjs,redux,state,Reactjs,Redux,State,我开始学习redux,我有以下问题。因此,我有一个具有初始状态的redux存储,还有一个组件,负责使用用户输入的数据调度操作。所以,如果输入是受控的,我应该在redux store initalState中设置它们的value属性,并在每次值更改时分派操作,还是应该使用组件的本地状态- class Calc ... constructor(props){ super(props); this.handleChange = this.handleChange.b

我开始学习redux,我有以下问题。因此,我有一个具有初始状态的redux存储,还有一个组件,负责使用用户输入的数据调度操作。所以,如果输入是受控的,我应该在redux store initalState中设置它们的value属性,并在每次值更改时分派操作,还是应该使用组件的本地状态-

 class Calc ...
   constructor(props){
       super(props);
       this.handleChange = this.handleChange.bind(this);
       this.state = {
           inputVal: ''
       }
   }

   handleChange(e){
      this.setState({
         [e.target.name]: e.target.value
      })
   }

   render(){
     return(
          <div>
              <input type="text" name="inputVal" value={this.state.inputVal} onChange={this.handleChange} />
          </div>
     )
   }

在我看来,在redux商店中储存物品之前,你应该问自己一些问题:

我的状态输入值是否在其他组件之间共享? 如果my inputVal的更改对其他组件有一些影响 如果您得到的是绝对答案,则可能需要将此状态inputVal存储在redux状态中


如果否,则不需要将此状态存储在redux中。取而代之的是,只需处理组件Cal中的状态。我认为,在redux store中存储某些内容之前,您应该问自己一些问题:

我的状态输入值是否在其他组件之间共享? 如果my inputVal的更改对其他组件有一些影响 如果您得到的是绝对答案,则可能需要将此状态inputVal存储在redux状态中


如果否,则不需要将此状态存储在redux中。相反,只需处理组件Cal中的状态即可。当组件连接到Redux store时,它会收到对该存储所做更改的通知

因此如果 -两个或多个组件将受益于状态更改和 -当父母通常很容易意识到与自己和孩子相关的变化,然后通过改变道具让孩子知道应该做什么时,这些组件不属于父子关系类型

然后使用Redux存储


此外,当只需要通知一个或多个组件导航更改(例如用户使用后退/前进浏览器按钮)时,可能会出现完全不同的情况。在这种情况下,也可以使用Redux,与路由器结合使用,路由器会自动向Redux存储区发送一个操作和相关负载

当组件连接到Redux存储时,它会收到关于对存储所做更改的通知

因此如果 -两个或多个组件将受益于状态更改和 -当父母通常很容易意识到与自己和孩子相关的变化,然后通过改变道具让孩子知道应该做什么时,这些组件不属于父子关系类型

然后使用Redux存储

此外,当只需要通知一个或多个组件导航更改(例如用户使用后退/前进浏览器按钮)时,可能会出现完全不同的情况。在这种情况下,也可以使用Redux,与路由器结合使用,路由器会自动向Redux存储区发送一个操作和相关负载