получить входное значение из реквизита - PullRequest
0 голосов
/ 17 февраля 2019

В ответ они говорят, что вы не можете менять реквизиты напрямую (или, по крайней мере, не должны).Но мне интересно, что мне делать, если у меня есть входные данные в компоненте, и у меня есть значение, которое задается как реквизит?

Я просто хотел узнать, все ли в порядке и как лучше это сделать?

// product.amount comes from props
<input type="number" value={product.amount} onChange={(e) => onChangeProductAmount(e)}/>

, поэтому кажется, что я хочу изменить product.amount при изменении ввода, но это в реквизите, поэтому я не должен этого делать.Что мне тогда делать?

1 Ответ

0 голосов
/ 17 февраля 2019

Поскольку реквизиты относятся к избыточному количеству, вы можете изменять их только в избыточном виде: вызывая создателя действия, который запустит действие.

Существуют пакеты, которые делают это.Я не знаком с избыточной формой, но насколько я помню, это один пакет, который поддерживает состояние формы в избыточной форме.Вы можете реализовать подобную вещь самостоятельно.

Я делаю вещи по-другому: я использую локальное состояние для управления вводом.Когда пользователь нажимает кнопку «отправить», и если значения действительны, я вызываю создателя действия, которое запускает действие, которое изменяет все, что необходимо изменить в хранилище с избыточностью.Однако эти изменения не отражаются непосредственно в форме, как вы хотите.

Некоторое время назад я реализовал небольшое приложение, которое обрабатывает формы таким образом.Вы можете найти это полезным: https://github.com/rahamin1/reactstrap-form

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...