Разрешение значения элемента управления формы как из реквизита, так и из пользовательского ввода - PullRequest
0 голосов
/ 18 декабря 2018

Я настроил это так:

<input className="form-control" id="focusedInput" type="text" value={props.myValue />

Это, конечно, выдаст предупреждение об отсутствии onChange.

Что я действительно хочу сделать, так это разрешить этому полю быть пользователем-редактируемый (и обновляет props.myValue, как только он отредактирован), но в то же время, если изменяется props.myValue, он также обновляется до props.myValue.(Представьте, что есть другая кнопка, которая может изменить props.myValue.)

Как я могу это сделать?

1 Ответ

0 голосов
/ 18 декабря 2018

Это известный, я предлагаю прочитать статью полностью, но решение в этом разделе: https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#preferred-solutions

Идея состоит в том, чтобы позволить родителю этого <input> управлять реквизитомТаким образом, вы делаете onChange до родителя, затем родитель может получить пользовательский ввод и управлять той «кнопкой», которую вы упомянули, так что props этого <input> хорошо определено.Родитель может очень сохранить пользовательский ввод в state и может заменить его значение, если нажата «кнопка».

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