У меня есть компонент, который получает переменную в качестве реквизита. GetDerivedStateFromProps () является типичным, это означает, что когда nextProps.someProp не равен prevState.someStateVar, эта опора присваивается переменной состояния.
У меня также есть элемент Controlled - элемент ввода текста HTML, который связан с той же переменной состояния.
Проблема в том, что когда я изменяю переменную состояния через управляемый элемент, getDerivedStateFromProps () выполняется и устанавливает значение обратно в реквизит, полученный ранее.
Как новичок React, я не понимаю, почему это происходит. Вышеуказанное действие должно происходить только при получении нового значения проп, как подсказывает название nextProps.
Пожалуйста, предложите, как получить желаемое поведение:
- Используйте опору для установки начальное состояние
- Пусть мой контролируемый элемент (html входной тег) устанавливает следующие значения переменной состояния
- если получено новое значение реквизита, присвойте его следующему значению переменной состояния