redux-form - Redux-form:输入值尚未设置 onChange of input
问题描述
当用户从选择下拉列表中选择一个值时,onChange
调用父容器中的一个函数。在那里我需要检查哪些字段已填写。
但似乎该值尚未在表单中设置。我曾尝试使用选择器 valid
和getFormvalues
,但它们没有随着最新的表单值更改而更新。
请参阅此 代码框。
如果我在表单组件的渲染中打印getFormvalues
,它会更新,但我无法在那里处理表单。
那么在用户选择一个值后如何处理表单,表单在哪里更新?
解决方案
您已经在SimpleFormContainer
due to中收到值connect
。您不需要来自SimpleFormContainer
to的回调SimpleForm
。您可以使用componentWillReceiveProps
inSimpleFormContainer
检查值更新并做任何您想做的事情。
最终代码可能如下所示:-
class SimpleFormContainer extends React.Component {
componentWillReceiveProps(nextValues) {
if (this.props.formValues !== nextValues.formValues){
console.log(nextValues.formValues)
}
}
render() {
return (
<SimpleForm onSubmit={showResults}/>
)
}
}
SimpleFormContainer = connect(
state => ({
formValues: getFormValues('simple')(state)
}),
{ getFormValues }
)(SimpleFormContainer);
推荐阅读
- ruby-on-rails - Rails Helper Handle Flash with ul
- node.js - npm install 给出'npm ERR!代码 ENOTFOUND' 错误
- windows - 如何在没有新行的情况下写入包含双引号的文件文本
- php - WP_Query 调用上的 get_post_meta
- python - Matplotib Indefinite Animate Inline Jupyter Notebook
- ios - 更新到 Xcode 11.1 后,音乐播放功能停止工作
- sql - 如何在分区表中使用主键
- apache-flink - Flink Kafka 生产者在发布键控流时抛出异常
- c# - 如何从嵌套类中获取属性值?
- recursion - OCaml中的简单递归程序,迭代到10