2017-04-11 35 views
0

對錶單下拉選項進行異步請求的正確方法是什麼?
有大量的下拉選項,例如說城市。我們希望這些存儲在狀態?表單選項的React Redux請求

通常,我們將通過Redux商店創建Redux動作,請求「城市」並使用「城市」選項更新狀態。 MapDispatchToProps並從componentDidMount調用Redux操作。

componentDidMount =() => { 
    this.props.fetchCitiesOptions() 
} 

MapStateToProps將包括options: cities這可能是1000個城市以上,僅在1種形式使用。我們想要在全球範圍內進行這項工作嗎?如果不是,那麼更好的方法是什麼?學習。謝謝。

+0

我會使用類似https://www.npmjs.com/package/react-async-autocomplete來達到這個目的 – Panther

回答

0

您可以選擇只有這個表單元素的本地狀態。如果您想要一個受控組件,但不希望/需要選項處於全局狀態,請爲您的表單創建一個包裝組件,以跟蹤本地狀態並更新componentDidMount中的本地狀態。您可以混合/匹配本地和全局狀態,具體取決於項目中需要的狀態。如果您不需要項目狀態其餘部分的表單提交數據,則本地狀態還可以跟蹤表單更改並提交。

+0

使用React w/Redux時,在Redux操作之外進行異步調用是否是一種好的設計實踐? – csi