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

Можно ли использовать slice в React?

Ответьте пожалуйста на вопрос)
Корректно ли использовать slice для изменения стейта в реакте ? На некоторых ресурсах читал что это мутирует стейт , но по идее он возвращает новый массив не изменяя исходный
Подскажите пожалуйста правильный ответ )
  • Вопрос задан
  • 296 просмотров
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 2
yarkov
@yarkov
Помог ответ? Отметь решением.
В доке русским языком написано. Ничего не мутируется.
Ответ написан
Комментировать
GreyCrew
@GreyCrew
Full-stack developer
Вполне можете использовать, но не забывайте, что slice, что spread operator они делают копию только плоского объекта(массива).
const arr = [0, 1, [2,3]]
const newArr = arr. slice(0)
newArr[2][0] = 'new data'
console.log(arr[2][0]) // new data

Если вам нужно избегать мутации для глубокого объекта, то используется либо JSON.stringify, JSON.parse, либо сloneDeep из lodash. Или сами можете написать функцию обхода объекта.
Есть еще специализированные библиотеки immutable(deprecated) или immerjs.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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