【发布时间】:2018-12-03 01:17:43
【问题描述】:
我目前正在研究 Redux.js。喜欢阅读源代码,我立即深入研究了 Redux 源代码。
阅读the createStore code,我陷入了以下代码:
export default function createStore(reducer, preloadedState, enhancer) {
if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
enhancer = preloadedState
preloadedState = undefined
}
if (typeof enhancer !== 'undefined') {
if (typeof enhancer !== 'function') {
throw new Error('Expected the enhancer to be a function.')
}
return enhancer(createStore)(reducer, preloadedState)
}
createStore 代码的这个循环是否应该以无限循环结束?因为递归地,增强器调用自己的 createStore 函数。所以我在这个样板中看到了两种情况: - 要么是因为未定义增强器,因此函数以错误结束 - 或者一切都很好,函数再次返回 createStore,一次又一次......
你如何分析这个 sn-p ?
谢谢
【问题讨论】:
标签: javascript reactjs recursion redux callback