【发布时间】:2018-04-12 04:49:19
【问题描述】:
在下面代码的 sn-p 中,我很难理解 result = next(action) 如何最终不会成为无限循环。由于“最后一个函数”action => 采用参数 action 并根据采用 next 参数 (next => action =>) 的函数计算 result 值,然后调用采用 action 参数的函数 ( next => action =>) 再次。
基本上这段代码的递归性很难理解。
import C from '../constants'
import appReducer from './reducers'
import { createStore, applyMiddleware } from 'redux'
const consoleMessages = store => next => action => {
let result
console.groupCollapsed(`dispatching action => ${action.type}`)
console.log('ski days', store.getState().allSkiDays.length)
result = next(action)
let { allSkiDays, goal, errors, resortNames } = store.getState()
console.log(`
ski days: ${allSkiDays.length}
goal: ${goal}
fetching: ${resortNames.fetching}
suggestions: ${resortNames.suggestions}
errors: ${errors.length}
`)
console.groupEnd()
return result
}
export default (initialState={}) => {
return applyMiddleware(consoleMessages)(createStore)(appReducer, initialState)
【问题讨论】:
标签: javascript redux react-redux