Redux-Form initialValues 不适用于 redux-form/immutable
Redux-Form initialValues not working with redux-form/immutable
问题
https://codesandbox.io/s/3o4j9y375
我有什么
好吧,这真的很棘手......我有以下代码:
Form = connect((state, props) => ({
formValues: getFormValues('myForm')(state),
initialValues: props.values,
}))(Form);
我期待的
在我的表单中同时支持 formValues 和 initialValues。
哪里出错了?
首先,我只是想让 formValues 出现在我的 Form props 中:我遇到了一个问题,因为我使用的是 IMMUTABLE,所以我不得不像这样导入
import { getFormValues } from 'redux-form/immutable';
而不是像这样
import { getFormValues } from 'redux-form';
修复后,我想向我的表单添加一些初始值,如上所示,这就是问题所在。
我控制台在 Form 中记录了我的道具,并且传递了 initialValues 但不是我使用的 JSON 格式而是在 IMMUTABLE MAP 中...
但是在这种格式中,值没有注入到表单中。
TL/DR
import redux-form/immutable -> 可以使用 getFormValues 但 initialValues 存储为不可变的 Map,因此不起作用
import redux-form -> 不能使用 getFormValues 但 initialValues 存储在 JSON 所以它可以工作
您可以使用 formValueSelector https://redux-form.com/7.4.2/docs/api/formvalueselector.md/
import { formValueSelector } from 'redux-form/immutable'
const selector = formValueSelector('myForm');
const mapStateToProps = (state) {
formValues: selector('myForm')(state),
}
export default connect(mapStateToProps)(Form);
问题 https://codesandbox.io/s/3o4j9y375
我有什么
好吧,这真的很棘手......我有以下代码:
Form = connect((state, props) => ({
formValues: getFormValues('myForm')(state),
initialValues: props.values,
}))(Form);
我期待的
在我的表单中同时支持 formValues 和 initialValues。
哪里出错了?
首先,我只是想让 formValues 出现在我的 Form props 中:我遇到了一个问题,因为我使用的是 IMMUTABLE,所以我不得不像这样导入
import { getFormValues } from 'redux-form/immutable';
而不是像这样
import { getFormValues } from 'redux-form';
修复后,我想向我的表单添加一些初始值,如上所示,这就是问题所在。 我控制台在 Form 中记录了我的道具,并且传递了 initialValues 但不是我使用的 JSON 格式而是在 IMMUTABLE MAP 中... 但是在这种格式中,值没有注入到表单中。
TL/DR
import redux-form/immutable -> 可以使用 getFormValues 但 initialValues 存储为不可变的 Map,因此不起作用
import redux-form -> 不能使用 getFormValues 但 initialValues 存储在 JSON 所以它可以工作
您可以使用 formValueSelector https://redux-form.com/7.4.2/docs/api/formvalueselector.md/
import { formValueSelector } from 'redux-form/immutable'
const selector = formValueSelector('myForm');
const mapStateToProps = (state) {
formValues: selector('myForm')(state),
}
export default connect(mapStateToProps)(Form);