在撰写有关将Redux状态与组件分离的博客文章时,我注意到enhancer link中使用的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;
}


我为此感到兴奋。现在,我想知道您将如何对其进行分类/命名,以及它是否是临时的出色代码,或者是某些系统方法的结果,而这是我想学习并开始应用的更大内容的一部分。

最佳答案

我认为您将其称为Decorator

09-25 21:31