首页 > redux 中的 reducers 有些问题

redux 中的 reducers 有些问题

报错信息如下:

The previous state received by the reducer has unexpected type of "Function". Expected argument to be an object with the following keys: "posts", "sidebar"

相关代码:

store.js

import { createStore, applyMiddleware } from 'redux'
import logger from 'redux-logger'
import thunk from 'redux-thunk'

import reducers from '../reducers/index'

const middleware = process.env.NODE_ENV === 'production' ? [ thunk ] : [ thunk, logger() ]

const store = createStore(reducers, applyMiddleware(...middleware), window.devToolsExtension ? window.devToolsExtension() : f => f)

export default store

reducers/index.js

import { combineReducers } from 'redux'
import posts from './posts'
import sidebar from './sidebar'

const rootReducer = combineReducers({
    posts,
    sidebar
})

export default rootReducer

reducers/posts.js

import {
    RECEIVE_POSTS,
    RECEIVEING_POSTS
} from '../containers/index'

const initialState = {
    posts: [],
    post: {},
    message: 'done'
}

const post = (state = initialState, action) => {
    switch (action.type) {
        case RECEIVE_POSTS:
            return Object.assign({}, state, {
                posts: action.posts
            })
            break
        case RECEIVEING_POSTS:
            return Object.assign({}, state, {
                message: 'loading'
            })
        default:
            return state
    }
}

export default post

我找了挺长时间的,也不知哪里出了问题。求大神解答


我前两天找到了问题。。。原因是createStore的第二个参数是初始化的store。
写代码的时候手快忘记打了,蠢哭了 :(

【热门文章】
【热门文章】