繁体   English   中英

如何从Redux存储中获取最新值到状态?

[英]How to get the latest value to a state from a redux store?

我对Redux相当陌生,我使用react-redux软件包并尝试实现一个简单的功能(尽管我知道这可以通过本地状态来处理),在此输入的内容应在<p></p>标签。

下面是代码:

编辑73zq1yl2r1

我对第62行表示怀疑,这是我访问最新状态以进行打印的方式,这是正确的方法吗?

好的开始。 我认为您在状态部分有些复杂。 我为您修改了它,还删除了bind关键字,如果您使用最新的JS lang规范,我觉得不需要。

我使用Object.assign只是为了防止状态对象发生突变。 通常可以通过使用ImmutableJS来避免这种情况(请阅读文档)

// Reducer.
const updateReducer = (state = {text:''}, action) => {
  switch (action.type) {
    case UPDATE_TEXT:
      return Object.assign({}, state, { text: action.text });
    default:
      return state;
  }
};

const mapStateToProps = state => {
  return {
    text: state.text
  };
};

和渲染方法:

 render() {
    return (
      <div>
        <input type="text" onChange={(...arg) => this.changeText(...arg)} />
        <p>{this.props.text}</p>
      </div>
    );
  }

您的初始代码有什么问题?

您将每个按键的所有文本以及更新和增长的文本存储在数组中。 在渲染时,仅显示最后一个(在数组中创建了不需要的副本,这些副本从未使用过),并省略了其他数组值。 相反,只需将旧值替换为当前输入值即可。

您的分叉代码在这里

编码愉快!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM