簡體   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