Я смущен, почему React настаивает на том, чтобы я дал своим управляемым компонентам ввода текста собственное внутреннее состояние. Я следил за официальной документацией для создания управляемого ввода, и React кричит на меня через консоль:Почему я не могу передать состояние через реквизиты в контролируемый текстовый компонент?
* warning.js: 36 Предупреждение: ClientInfoTextInput меняет неконтролируемый ввод текста типа, который нужно контролировать. Элементы ввода не должны переключаться с неконтролируемого на управляемый (или наоборот). Решите, используя управляемый или неконтролируемый входной элемент для времени жизни компонента.
render() {
return (
<input type="text"
className={styles.ClientInfoTextInput}
value={this.props.propToPass}
onChange={this.props.propMethodToPass}
/>
)
Так почему я не могу пройти вниз состояние через реквизита к входной компонент, управляемый без Реагировать расстраиваться?
Трудно сказать, не в полной мере отображаемый код компонента. Имя компонента ClientInfoTextInput? Если это так, я думаю, ваша проблема в том, что при инициализации «this.props.propToPass» не определено. Вы можете сделать проверку для undefined, а затем передать значение по умолчанию, если оно есть. –
Пожалуйста, покажите весь файл, это облегчит нам понимание того, что происходит. Скорее всего, то, что сказал @ericg, - это ваша проблема, но мы не будем знать, пока не увидим больше. – finalfreq