React и ввод данных в input

307
25 февраля 2017, 06:46

Доброго времени суток! Делаю небольшое приложение на React, опыта пока немного. У меня два React-класса, один - это навигация, второй - форма редактирования данных. Странная ситуация - контроли в классе редактирования фокус ввода получают, но данные изменить невозможно. В чем может быть дело ? Код класса навигации

var MenuExample = React.createClass({
...
render: function() {
return (
  <div>
  ...
  <Content firstName={res.employees[active_index].firstName} lastName={res.employees[active_index].lastName} iddep={res.employees[active_index].iddepartment} id={res.employees[active_index].id}/>   
  </div>
    ); 
    }  
});

Теперь код класса ввода данных:

var Content = React.createClass({
render: function() {
var iddep_ = this.props.iddep;
var firstName_ = this.props.firstName;
var lastName_ = this.props.lastName;
return (
         <div>
          <p><label>id department</label></p><p><input type="text"  name="iddep" value={iddep_}/> </p>   
          <p><label>first name</label></p><p><input type="text" name="firstName" value={lastName_}/></p>
          <p><label>last name</label></p><p><input type="text" name="lastName" value={firstName_}/></p>
          <p><button onClick={this.clicked.bind()}>Изменить</button></p>
         </div> 
    ); 
}  
}); 

Спасибо за помощь.

Answer 1

Данные изменить невозможно, потому что вы никак не обрабатываете их изменение: this.props.firstName, например не меняется.

Почитайте больше о работе с формами

READ ALSO
Вопрос на счёт Ember.run

Вопрос на счёт Ember.run

Всем приветНашел в коде такое

256
Как организовать событие mousePressed jquery?

Как организовать событие mousePressed jquery?

Не получается нормально сделать событие mousePressed (при зажатой кнопки мыши происходит увеличение величины с шагом одна единица), получается...

335
React. Запрет нажатия кнопки

React. Запрет нажатия кнопки

В приложении есть небольшой баг, хотелось бы его пофикситьЭто todo-list, когда я нажимаю на start и stop - всё работает, но когда я отмечаю задание выполненным...

327