项目中使用redux遇到的问题

最近在看redux,从网上找了很多文章来学习,自己也找了一个开源项目,仿照着写,发现看再多文章也不如自己实践一遍来的好。

文章

首先推荐几个个人觉得还不错的学习网址:
1、ReactNative 架构Redux研究
2、在react-native中使用redux
3、Redux系列x:源码分析

遇到的问题

1.如图:

项目中使用redux遇到的问题_第1张图片
QQ20170502-132757.png
通过阅读错误可以看出该错误是说自从redux-logger 3.0.0开始,引用createLogger需要从 import createLogger from 'redux-logger';变成 import {createLogger} from 'redux-logger';,所以在项目中找到引用createLogger的地方,更改一下即可。
2.如图:
项目中使用redux遇到的问题_第2张图片
QQ20170502-133530.png
这个错误上网搜了一下,网上很少有说这个错误的文章,所以只能自己解决,在阅读到redux源码分析这篇文章时,看到combineReducers.js的源码中有这样的一段代码:
项目中使用redux遇到的问题_第3张图片
QQ20170502-135944.png
当reducerKeys.length===0时,就会return这个错误,我立即意识到自己虽然在reducers文件夹中写了root.js,但是引用的几个js文件都是空的,并没有内容导出。
项目中使用redux遇到的问题_第4张图片
QQ20170502-135047.png
所以我在引用的这几个js中其中一个添加代码,使reducerKeys.length不为0,错误解决!

/**
 * Created by sybil052 on 2017/4/28.
 */

import * as types from '../constants/actionType';

const initialState = {
    loading: false,
    typeList: {}
};

export default function category(state = initialState, action) {
    switch (action.type) {
        case types.FETCH_TYPE_LIST:
            return Object.assign({}, state, {
                loading: true
            });
        case types.RECEIVE_TYPE_LIST:
            return Object.assign({}, state, {
                loading: false,
                typeList: action.typeList
            });
        default:
            return state;
    }
}

因为工作不能再继续研究redux,不过以后有时间会继续总结redux遇到的问题~

你可能感兴趣的:(项目中使用redux遇到的问题)