Входы React управляются / не контролируются в зависимости от наличия значения prop на входе.Вы передаете значение проп, но _inputText
начинается как undefined
.И когда значение ввода начинает неопределенным, React всегда запускает ввод в неконтролируемом режиме.
После ввода ввода _inputText
больше не является неопределенным, и вход переключается в контролируемый режим, и вы получаетепредупреждение.
Для вашего случая это просто;просто инициализируйте _inputText
пустой строкой:
@observable
private _inputText: string = '';
Вы также можете настроить <InputField />
, чтобы значения неопределенного значения были пустой строкой:
render() {
return (
<div>
<input
type="text"
value={this.props.value == null ? '' this.props.value}
onChange={this.onChange}
/>
</div>
);
}