aleksand44
@aleksand44

Почему не читает через this.props.value?

Всем привет. Изучаю react по этому туториалу и столкнулся с небольшой заминкой в этом моменте
var TestInput = React.createClass({
  getInitialState: function() {
    return {
      variable: 'Введите значение'
    };
  },
  changeVariable: function(e){
    this.setState({variable:e.target.value});  //   ВОТ ТУТ   
  },
  render: function() {
    var variable = this.state.variable;
    return (
      <input className='test-input' onChange={this.changeVariable} value={variable} />
    );
  }
});


Почему вместо this.setState({variable:e.target.value}); не получается использоватьthis.setState({variable:this.props.value}); ??
На ум приходит только потеря контекста this, но ведь и setState задается через this
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
@UsulPro
Мне более знаком синтаксис ES6 классов.
С этой точки зрения ответ именно в потере контекста.
т.е. попробуйте, например, onChange={this.changeVariable.bind(this)}
this.setState определяется в классе-родителе. видимо в этом дело.

Вообще, если вы только начали изучать React, может стоит сразу перейти на `class TestInput extends React.Component` (вы же все-равно используете jsx синтаксис). Вот хорошее руководство
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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