При написании сообщения в блоге об отделении состояния 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;
}
Я был взволнован этим. Теперь мне интересно, как бы вы классифицировали / назвали его, и был ли это специальный отличный код или результат какого-то систематического подхода, который является частью чего-то большего, что я хотел бы изучить и начать применять.