У меня проблемы с обновлением Formik на значение, которое у меня есть от redux.
Это моя карта PropsToValues:
mapPropsToValues(props) {
const {bid: {total=42, token_quantity: quantity= null}} = props
return { total, quantity }
}
Я также включил enableReinitialize: true
То, как я это выяснил, заключается в том, что total и token_quantity - это значения, которые я получаю из-за избыточности, и мне нужно заполнить их из магазина.
Моя схема проверки для всего:
total: Yup.number().required('Required')
И мой компонент поля:
<Field name="total" type="text" />
Мой код работает так, что когда пользователь нажимает кнопку, происходит отправка действия, а затем магазин возвращает total
и quantity
. В первый раз он работает отлично, и значение отображается в поле. Проблема, с которой я столкнулся, заключается в том, что если пользователь затем вводит данные в поле, независимо от того, нажимают ли они кнопку впоследствии, значение не обновляется. Кажется, есть два вызова для setFeildValue
, один со значением от redux, а затем другой со значением, которое вводит пользователь, которое отображается. '
Может кто-нибудь сказать мне, что я делаю неправильно, потому что я не могу заставить его работать, и я потратил на это два дня.