привязка ввода к переменной внутри компонента React Dumb с помощью MobX - PullRequest
0 голосов
/ 11 июня 2018

Во время обучения использованию MobX я хотел обновить string с <input/>.Я знаю, что в Smart Components я могу просто использовать onChange={this.variable.bind(this)}, но я не понимаю, как я могу это сделать в следующем сценарии:

const dumbComponent = observer(({ prop }) => {

  // prop is an object
  // destruct1 is a string, destruct2 is an array
  const { destruct1, destruct2 } = prop;
  const list = destruct2.map((item, key) => (<li key={key} >{item}</li>));

  return (
    <div>
      <h1>title</h1>
      <h2>{destruct1}</h2>
      // Relevent part start
      <input classname="destruct" value={destruct1.bind(this)} />
      // Relevent part end
      <ul>{list}</ul>
    </div>
  );
});

export default TodoList;

Могу ли я связать значение ввода, чтобы как-то уничтожить?Очевидно, этот код не работает.Но я не знаю, что делать.

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете создать встроенную функцию стрелки и изменить prop.destruct1 следующим образом:

const dumbComponent = observer(({ prop }) => {
  const { destruct1, destruct2 } = prop;
  const list = destruct2.map((item, key) => <li key={key}>{item}</li>);

  return (
    <div>
      <h1>title</h1>
      <h2>{destruct1}</h2>
      <input
        classname="destruct"
        value={destruct1}
        onChange={e => prop.destruct1 = e.target.value}
      />
      <ul>{list}</ul>
    </div>
  );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...