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

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

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

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

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽