最近在看redux,从网上找了很多文章来学习,自己也找了一个开源项目,仿照着写,发现看再多文章也不如自己实践一遍来的好。
文章
首先推荐几个个人觉得还不错的学习网址:
1、ReactNative 架构Redux研究
2、在react-native中使用redux
3、Redux系列x:源码分析
遇到的问题
1.如图:
import createLogger from 'redux-logger';
变成import {createLogger} from 'redux-logger';
,所以在项目中找到引用createLogger的地方,更改一下即可。2.如图:
QQ20170502-133530.png 这个错误上网搜了一下,网上很少有说这个错误的文章,所以只能自己解决,在阅读到redux源码分析这篇文章时,看到combineReducers.js的源码中有这样的一段代码:
QQ20170502-135944.png 当reducerKeys.length===0时,就会return这个错误,我立即意识到自己虽然在reducers文件夹中写了root.js,但是引用的几个js文件都是空的,并没有内容导出。
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遇到的问题~
网友评论