Как правильно присвоить стейту значение, зависящее от другого стейта?

Как правильно присвоить стейту значение, зависящее от другого стейта?

function MyComponent() {
  const [value1, setValue1] = useState(1);
  const [value2, setValue2] = useState(2);

  const onAdd = function() {
    setValue1(value1 => value1 + value2);
  }

  return (
    <>
      <input type='text' value={value1} onChange={ev => setValue1(ev.currentTarget.value)} />
      <input type='text' value={value2} onChange={ev => setValue2(ev.currentTarget.value)} />

      <button onClick={onAdd}>Add value2 to value 1</button>
    </>
  );
}


При изменении стейта нельзя напрямую менять значение, нужно использовать чистую колбек -функцию. Но что если при вычислении/получении нового значения value1 нужно использовать значение value2 из другого стейта? Не будет ли проблем из-за этого? Как правильно это делать?
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы