Страница не рендерится повторно, хотя изменения состояния в редуксе и изменениях компонентов тоже - PullRequest
0 голосов
/ 25 апреля 2020

Может кто-нибудь объяснить, как обновить состояние в Redux? Специально массив.

 if(action.type === 'ADD_POST')
    {
      state.posts.push(action.obj)
      let newPosts = state.posts
      console.log(newPosts)
      return {
        ...state,
        posts: newPosts
      }

    }

1 Ответ

0 голосов
/ 25 апреля 2020

Чтобы добавить сообщение в массив сообщений, оно должно быть

if (action.type === "ADD_POST") { 
  return [...state, action.obj]
}

Это добавит один элемент без изменения состояния, используя Разрушающее присваивание

Кстати : Возьмите лут в https://redux-toolkit.js.org/, который является новым рекомендуемым способом написания редукса. Он имеет встроенную неизменность, то есть вы можете просто сделать

state.push(action.payload)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...