2017-02-17 14 views
0

У меня есть компонент redux-form, который получает начальные значения из хранилища redux в первой загрузке и заполняет форму. Форма все еще не отправлена. (он был представлен ранее, но мы находимся в новом состоянии с нуля после перезагрузки браузера пользователя). Начальные значения заполнены должным образом.in redux-form: как получить значения, которые еще не отправлены

let CheckoutStep1Form = (props) => { 
    return(
    //my fancy form 
    ) 
} 

CheckoutStep1Form = reduxForm({ 
    form: 'step1', // a unique name for this form 
})(CheckoutStep1Form); 

CheckoutStep1Form = connect(
    state => ({ 
     initialValues: { 
      //my initial values 
     } 
    }) 
)(CheckoutStep1Form) 

Помимо этого у меня есть еще один компонент, который стремится обобщить всю информацию о форме, приведенной в предыдущих шагах в виду.

const CheckoutStep1Summary = ({values}) => { 
    return(
    //my fancy summarize view 
    ) 
} 

export default connect(
    state => ({ 
     values: getFormValues('step1')(state) 
    }) 
)(CheckoutStep1Summary) 

Задача: getFormValues('step1')(state) возвращает пустые. Никакие значения в форме не представлены.

Так что вопрос: могу ли я получить форму Значения от формы, что она еще не была представлена ​​каким-либо образом с использованием редукционной формы?

Конечно, я мог бы сделать некоторое обходное решение, поскольку у меня есть значения в состоянии, но я хотел бы знать, учитывает ли редукционная форма этот сценарий.

ответ

1

Я смущен, являются значениями в форме или нет? Вы говорите: «Начальные значения заполнены правильно», что заставляет меня думать «да», но getFormValues() не делает ничего больше, чем возвращает значения из Redux. Я бы рекомендовал использовать Redux Dev Tools, чтобы понять, как выглядит состояние формы.

Вы могли бы только что ввели его неправильно в этом вопросе, но это:

CheckoutStep1Form = connect(
    state => ({ 
     initialValues: { 
      //my initial values 
     } 
    }) 
) 

должен быть таким:

CheckoutStep1Form = connect(
    state => ({ 
     initialValues: { 
      //my initial values 
     } 
    }) 
)(CheckoutStep1Form) // <------- 

Надежда, что помогает ...

+0

Спасибо за ваш ответ @ Эрик Р! Значения передаются в форму через initialValues, но не отправляются, поэтому 'getFormValues ​​('myForm') (state)' возвращает undefined в другом компоненте. Таким образом, мое предположение заключалось в том, что getFormValues ​​возвращает что-то только после отправки формы. Правильно? О вашем намеке, как вы догадались, я набрал неправильно. :), но спасибо за указание –

+0

Нет. Селектор 'getFormValues ​​()' всегда возвращает текущие значения формы. –

+0

Хорошо, я делал неправильное предположение. Спасибо за ваше время! –

 Смежные вопросы

  • Нет связанных вопросов^_^