Redux-Form initialValues ​​не работает с redux-form / immutable - PullRequest
0 голосов
/ 24 октября 2018

Проблема https://codesandbox.io/s/3o4j9y375

Что у меня есть

Хорошо, это действительно сложно ... У меня есть следующий код:

Form = connect((state, props) => ({
  formValues: getFormValues('myForm')(state),
  initialValues: props.values,
}))(Form);

Что я ожидаю

Наличие в моей форме реквизитов как formValues, так и initialValues.

Где все пошло не так?

Сначала я просто хотел, чтобы formValues ​​были в моих реквизитах форм: я столкнулся с проблемой, потому что я использую IMMUTABLE, поэтому мне пришлось импортировать вот так

import { getFormValues } from 'redux-form/immutable';

вместокак это

import { getFormValues } from 'redux-form';

Как только это исправлено, я хотел добавить некоторые начальные значения в мою форму, как показано выше, и это проблема.Я консоль зарегистрировал мои реквизиты в форме, и initialValues ​​передаются, но не в формате JSON, который я использовал, а в IMMUTABLE MAP ... Но в этом формате значения не вводятся в форму.

TL / DR

import redux-form / immutable -> может использовать getFormValues, но initialValues ​​хранится как неизменяемая карта, поэтому не работает

importredux-form -> не может использовать getFormValues, но initialValues ​​хранится в JSON, поэтому он работает

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете использовать 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);

...