【发布时间】:2019-09-18 19:30:54
【问题描述】:
我正在使用 redux 在 react-native 中创建一个新的 todo 应用程序。 在使用 combineReducers 设置 rootReducer 时出现以下错误。
“combineReducers”是只读的。
// reducers/todos.js
let nextId = 0;
const todos = (state = [], action) => {
switch (action.type) {
case 'ADD_TODO':
return [
...state, {
id: nextId++,
text: action.text,
completed: false,
}
]
case 'TOGGLE_TODO':
return state.map(todo =>
(todo.id === action.id) ? { ...todos, completed: !todo.completed } : todo)
default:
return state
}
}
export default todos;
创建了一个可见性过滤器来切换待办事项状态。
// reducers/visibilityFilter.js
const visibilityFilter = (state='SHOW_ALL', action) =>{
return state;
}
export default visibilityFilter;
将两个 reducer 合并到索引文件中。
// reducers/index.js
import { combineReducers } from 'redux';
import todos from './todos';
import visibilityFilter from './visibilityFilter';
export default combineReducers = combineReducers({
todos,
visibilityFilter
})
这是我的商店文件
import { createStore } from 'redux';
import rootReducer from '../reducers';
export default store = createStore(rootReducer);
【问题讨论】: