//下面是一个reducer
import { USER_EDIT } from '../actions/actions'
const editUsers = (state = USER_EDIT , action)=>{
switch(action.type){
case USER_EDIT:
return Object.assign({},action.obj)
default:
return state
}
}
export default editUsers
//下面也是一个reducer
const todos = (state = [] ,action)=>{
switch(action.type){
case USER_ADD :
...
}
}
export default todos
//下面是combineReducers
import React , {combineReducers} from 'redux'
import todos from './todos'
import editUsers from './edit'
const lists = combineReducers({
todos,
editUsers
})
问题来了,调试时发现只有todos这个reducer生效,editUsers这个ruducer不起作用,这是为什么?
补充 actions export const USER_ADD = 'USER_ADD';
export const USER_EDIT = 'USER_EDIT'
export const USER_DEL = 'USER_DEL'
export const USER_LIST = 'USER_LIST'
export const USER_INFO = 'USER_INFO'
export const USER_EDIT_SUB = 'USER_EDIT_SUB'
let count = 0;
export function addUser(obj){
obj.key = count++;
return {
type: USER_ADD,
obj
}
}
export function delUser(id){
return {
type: USER_DEL,
id
}
}
export function editUser(obj){
return {
type: USER_EDIT,
obj
}
}
调用代码方式都正确,条件太少,没法找到具体的错位,建议多去看看reducer官方文档,来进行对比哪儿代码使用错误,中文文档链接
http://uprogrammer.cn/redux-i...