[英]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.