Задать вопрос

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

Почему во всех статьях(которые я видел) используют первый способ?
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' короче. Может есть ещё смысл этого ?

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

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

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