Какова схема расширения createStore Redux с помощью энхансеров? - PullRequest
0 голосов
/ 01 мая 2018

При написании сообщения в блоге об отделении состояния Redux от компонентов я заметил использование enhancer, используемого в createStore ссылке :

export default function createStore(reducer, preloadedState, enhancer) {
  /* .... */
  if (typeof enhancer !== 'undefined') {
    if (typeof enhancer !== 'function') {
      throw new Error('Expected the enhancer to be a function.')
    }

    return enhancer(createStore)(reducer, preloadedState)
  }
  /* ... */
  return store;
}

Соответственно, общий шаблон:

function func(arg1, /* ... */, argN, enhancer) {
  /* .... */
  if (typeof enhancer === 'function') {    
    return enhancer(func)(arg1, /* ... */, argN);
  }
  /* ... */
  return result;
}

Я был взволнован этим. Теперь мне интересно, как бы вы классифицировали / назвали его, и был ли это специальный отличный код или результат какого-то систематического подхода, который является частью чего-то большего, что я хотел бы изучить и начать применять.

1 Ответ

0 голосов
/ 01 мая 2018

Я думаю, вы бы назвали это Декоратором .

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