В чём разница этих способов изменения состояния на противоположное?

Почему во всех статьях(которые я видел) используют первый способ?
const [data, setData] = useState(false);
Способ 1
setData(prev => !prev); // true
setData(prev => !prev); // false
setData(prev => !prev); // true
Способ 2
setData(!data) // true
setData(!data) // false
setData(!data) // true

или к примеру если нужно добавить в массив к уже имеющимся записям
const [data, setData] = useState([1, 2, 3]);
const newData = [4, 5, 6];
setData(prev => [...prev, ...newData]);
// data = [1, 2, 3, 4, 5, 6]
и
setData([...data, ...newData]);
// data = [1, 2, 3, 4, 5, 6]


Ведь 'способ 2' короче. Может есть ещё смысл этого ?

Постскриптум, пожалуйста без оскорблений)
  • Вопрос задан
  • 250 просмотров
Решения вопроса 1
Devilz_1
@Devilz_1
Frontend-Developer
Простите за мою лень))
Читать тут
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@n1ksON
мидл
Правильнее будет использовать первый способ.
Использование prev (предыдущего state), гарантирует корректную работу хука и отсутствие мутации.
Для начала можете посмотреть пример здесь
Подробнее почитайте документацию
Ответ написан
@karminski
Senior React.JS Developer
Использую только второй способ. Никаких проблем. Это просто краткая запись.
Ответ написан
Ваш ответ на вопрос

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

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