Задать вопрос

Почему не изменяется состояние компонента?

Здравствуйте. Есть текстовый input, который рендерит компонент TestInput.

class TestInput extends React.Component {

	constructor(props){

		super(props);

		this.state = {myValue: ""};

		this.onChangeHandler = this.onChangeHandler.bind(this); 
	}

	onChangeHandler(e) {

		this.setState = ({
			myValue: e.target.value
		});

		//alert(e.target.value);
	}

	render() {

		return(

			<input className = "test-input" type="text" value={this.state.myValue} onChange={this.onChangeHandler} placeholder='введите значение' />
		);
	}
}


При изменении input - а, срабатывает метод onChangeHandler, который должен менять состояние элемента. Но напечатать что - либо в текстовом поле не представляется возможным. В инспекторе myValue не меняется, после строчки с изменением значения - дебаггер прыгает в react-dom.development.js. Как быть? :с
  • Вопрос задан
  • 591 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@lnked
попробуйте так:

onChangeHandler (e) {
        this.setState({
            myValue: e.nativeEvent.target.value
        })
}


onChange={this.onChangeHandler}
Заменить на:
onChange={this.onChangeHandler.bind(this)}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы