Я использую redux-form 6.0.0-rc.5 и пытаюсь отобразить значения формы по мере их ввода пользователем.
Однако я хочу, чтобы эти значения отображались из другого компонента, а не из самой формы редукции.
Итак, моя упрощенная архитектура приложения будет такой:
<App /> -> (main component -container ?-)
<List /> -> (connect to form values and pass them down)
<Elem /> -> (display form value)
<Form /> -> (enter form values)
Компонент представляет собой редукционную форму, смонтированную на «форме» и работающую.
Form = reduxForm({
form: 'formName'
})(Form)
Как лучше всего получить значения формы (из состояния form.formName.values) и отправить их в компонент отображения?
Вещи, которые я пробовал:
Подключите App к хранилищу и mapStateToProps (form.formName.values), а затем передайте его в Display в качестве реквизита. Но это выдает ошибку, поскольку значения не существуют в состоянии формы, пока пользователь ничего не введет.
Используя функцию getFormValues('formName'), предоставляемую redux-form внутри компонента List, но она возвращает функцию или undefined :
Элем
const Elem = ({ name }) => (
<li>{name}</li>
)
Список
const List = ({ values }) => (
{values.map(value => <Elem name={value.name} />)}
)
List = connect(
state => ({
values: getFormValues('formName')
})
)(List)
Должно быть что-то, что я упускаю, или я все еще не понимаю, связано ли это с редукционной формой или самим редуксом... Надеюсь, кто-нибудь сможет меня просветить!
Спасибо Вам и хорошего дня.