Почему мы используем () => [] вместо []? - PullRequest
0 голосов
/ 11 сентября 2018

У меня короткий вопрос о редукторе в React Native

Почему я должен написать код, подобный следующему:

import { combineReducers } from 'redux';

export default combineReducers({
    reducerKey : () => []
});

вместо этого:

import { combineReducers } from 'redux';

export default combineReducers({
    reducerKey : []
});

В основном: почему это должна быть функция?Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Во-первых, вам нужно знать, что это такое?

() => [] - это функция стрелки , которая возвращает пустой массив, но [] - это просто пустой массив.


См. Документ примечание :

redurs (Object): объект, значения которого соответствуют различным функциям сокращения, которые необходимо объединить в одну.

Итак, вам нужно передать функцию в редуктор.Таким образом, вы будете использовать () => [] вместо [].


Я никогда не использовал это с combReducers.Это используется для объединения различных редукторов, таких как:

combineReducers({
  reducer1,
  reducer2
})

Предыдущий пример - просто псевдоним:

combineReducers({
  reducer1: reducer1,
  reducer2: reducer2
})
0 голосов
/ 11 сентября 2018

Работа редуктора заключается в применении некоторого ввода для обновления состояния.Редуктор возвращает новое состояние после выполнения действия.Он работает на входе и может возвращать другое состояние на другом входе, следовательно, это функция.

Если вы используете второй подход, вы генерируете фиксированное значение состояния, которое может быть допустимым для некоторых случаев использования.Но, как правило, вы хотите использовать функцию.

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