Как я понимаю это заявление по умолчанию в примере корзины покупок Redux? - PullRequest
0 голосов
/ 23 июня 2018

Вот утверждение:

default:
      const { productId } = action
      if (productId) {
        return {
          ...state,
          [productId]: products(state[productId], action)
        }
      }
      return state

Источник: https://codesandbox.io/s/github/reactjs/redux/tree/master/examples/shopping-cart (источник / редукторы / продукты / - строка 26)

Вот что я понимаю до сих пор:

Строка 26: если регистр RECIEVE_PRODUCTS не выполнен, выполнить то, что следует после двойных точек.

Строка 27: const productId установлен равным action.productId, перенесенному действием addToCart.

Строка 28: если action.productId существует, выполнить инструкцию в фигурных скобках.

Строка 29 и 30: вернуть неизмененные свойства состояния.

Строка 31:?

Строка 32-34: В противном случае возвращаемое состояние не изменяется.

1 Ответ

0 голосов
/ 23 июня 2018

[productId]: products(state[productId], action) присваивает результат products(state[productId], action) ключу со значением productId.Это проще объяснить на примере:

const a = 'foo';
const b = 'bar';

const obj = {
  [a]: a,
  b: b
}

console.log(obj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...