Jest to prawdopodobnie błąd na mojej stronie, ale zauważyłem, że w moim sklepie Redux, dla każdego podmiotu, wydaje się, że jest obiektem zewnętrznym o nazwie x, co z kolei ma dziecko o tej samej nazwie, która zawiera dane.

Lepiej jest wyjaśnić przykładem:

reduktor użytkownika

const initialState = {
  user: {},
}

const usersReducer = (state = initialState, action) => {
  switch (action.type) {
    case LOGIN_USER:
      return {
        ...state,
        user: action.payload,
        loggedIn: true,
      }
    case REGISTER_USER:
      return {
        ...state,
        user: action.payload,
        registered: true,
      }
    default:
      return state
  }
}

Obiekt użytkownika w stanie Użytkownik w Redux

Jak widać, user ma zagnieżdżone user. Może unikać tego wzoru w reduktorie?

0
asus 27 lipiec 2020, 19:40

1 odpowiedź

Najlepsza odpowiedź

Możesz zmienić swój skrypt

case LOGIN_USER:
  return {
    ...state,
    ...action.payload,
    loggedIn: true,
  }

Itp. To powinno ci pomóc

2
Eugene Fedotov 27 lipiec 2020, 16:46