Задать вопрос
RazerVG
@RazerVG
Full-stack

Как обновить двумерный массив в state?

Массив вида:
[[0, 0, 0]
[0, 0, 0]
[0, 0, 0]]

Пробую обновить:
this.setState(prevState => {
            return {
                arr: {
                    ...prevState.arr,
                    [posX]: [
                        ...prevState.arr[posX],
                        [posY] = 1
                    ]
                }
            }
        })


или сделать проще

const arr = [...this.state.arr];

        arr[posX][posY] = 1;

        this.setState({
            arr: arr
        })
  • Вопрос задан
  • 99 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
return {
  arr: {

Если arr массив, почему пытаетесь превратить его в объект?

this.setState(({ arr }) => ({
  arr: arr.map((n, i) => i === posX
    ? n.map((m, j) => j === posY ? 1 : m)
    : n
  ),
}));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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