Я сейчас работаю над Redux.js.Любя читать исходные коды, я сразу же погрузился в исходный код Redux.
Чтение кода createStore . Я остановился на следующем коде:
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, и снова и снова ...
КакВы анализируете этот фрагмент?
Спасибо