Я совершенно новый, чтобы реагировать, и после прохождения некоторых уроков я пытался использовать код ниже.Почему я не могу изменить свое входное значение в React даже при прослушивании onChange
Я сделал один компонент, прошел реквизит к нему из магазина, на componentWillMount
Я создаю новое состояние для компонента. Рендеринг до сих пор прекрасен.
Далее я привязал свой state
к значению поля ввода, и у меня есть onChange
слушатель. Тем не менее, я не могу изменить свои ценности в поле.
Так как, я из Углового фона, я предполагаю, что значение привязки для ввода, как показано ниже, автоматически обновит свойство name
в state
объекте. Я здесь не прав?
componentWillMount(){
this.setState({
updatable : false,
name : this.props.name,
status : this.props.status
});
}
//relevant DOM from component's render function
<input className="form-control" type="text" value={this.state.name} id={'todoName' + this.props.id} onChange={this.onTodoChange.bind(this)}/>
onTodoChange(){
console.log(this);
//consoling 'this' here, shows old values only.
//not sure how and even if I need to update state here.
// Do I need to pass new state to this function from DOM
//TODO: send new data to store
}
Моя onTodoChange
функция консоли значение this
, которое имеет такое же значение состояния как при инициализации. Как перейти к изменению состояния, введя поля ввода, чтобы я мог отправить их в магазины.
Thanx. .. Я предполагаю, что конструктор получает 'реквизит' по умолчанию. Верный?? –
да, это правильно –