Задать вопрос
TchernyavskD
@TchernyavskD
Formoshlep

Как поменять местами данные у компонентов React?

Доброй ночи. Прошу помощи. Подскажите на примере, если возможно, как поменять данные у компонентов.
Например, есть 2 инпута. Город откуда и город куда. В каждом инпуте есть свой value, например у Откуда "Москва", а у куда "Питер". И есть родитель где эти оба компонента существуют.

Как можно поменять данные у данных компонетов местами?
  • Вопрос задан
  • 447 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Академия Eduson
    React-разработчик
    2 месяца
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
const Input = ({ label, ...props }) => (
  <div>
    <label>
      {label}
      <input {...props} />
    </label>
  </div>
);

class App extends React.Component {
  state = {
    from: 'Москва',
    to: 'Питер',
  }

  onChange = ({ target: { value, name } }) => {
    this.setState(() => ({
      [name]: value,
    }));
  }

  swap = () => {
    this.setState(({ from, to }) => ({
      from: to,
      to: from,
    }));
  }

  render() {
    return (
      <div>
        <button onClick={this.swap}>swap</button>
        <Input label="откуда" value={this.state.from} name="from" onChange={this.onChange} />
        <Input label="куда" value={this.state.to} name="to" onChange={this.onChange} />
      </div>
    );
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽