[英]Update initialValues in redux-form asyncronously without using redux
文檔中的示例僅顯示如何使用redux狀態更新initialValues
(請參閱http://redux-form.com/6.0.0-alpha.4/examples/initializeFromState/ )。 我不想使用redux,因為它對我正在構建的應用程序來說非常麻煩。 我寧願使用組件狀態。
我嘗試在redux-form連接器中使用異步自執行函數,但這不起作用:
ApplicationNewForm = reduxForm({
form: 'appapp',
returnRejectedSubmitPromise: true,
initialValues: (async function() { ... }()),
handleSubmit
})(ApplicationNewForm)
那不起作用(一個應該是顯而易見的原因,組件不關心賦值是否異步......)......
我還嘗試在async componentDidMount
進行api調用,並使用this.state
設置我的<Field />
的value
prop。
在每種情況下,值似乎都不會進入redux存儲,因此不要更新字段中的值。
有任何想法嗎?
編輯 :解決方案是使用api調用中的數據手動調用async componentDidMount
this.props.initialize
。 這是否工作:
async componentDidMount() {
try {
const res = await axios.get('/my/user/api/')
const { data: user } = res
this.props.initialize({...user})
} catch(err) {}
}
從當前版本v6.5.0
, initialValues
配置參數采用對象 ,而不是異步函數。 這可能會搞亂你對this.props.initialize()
調用。 您是否看到正在調度INITIALIZE
操作?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.