我想知道为什么我的状态 todos在 redux 开发工具中命名为todo而不是todos .. 这个名字是从哪里来的?没有初始状态..我想知道..我正在关注Stephen Grider udemy 课程,但使用待办事项而不是流作为修订为什么我必须回到它state.todo不state.todos?Jsson 服务器 db.json 文件(api 文件) { "todos": [ { "title": "lorem ipsum ", "description": "lorem ipsum", "id": 4 } ] }todoReducer.js import _ from 'lodash'; import { CREATE_TODO, EDIT_TODO, FETCH_TODO, FETCH_TODOS, DELETE_TODO } from '../actions/types'; export default (state = {}, action) => { switch (action.type) { case FETCH_TODOS: return { ...state, ..._.mapKeys(action.payload, 'id') }; case CREATE_TODO: case FETCH_TODO: case EDIT_TODO: return { ...state, [action.payload.id]: action.payload }; case DELETE_TODO: return _.omit(state, action.payload); default: return state; } };动作/ index.js import todos from '../apis/todos'; import history from '../history'; import { SIGN_IN, SIGN_OUT, CREATE_TODO, EDIT_TODO, FETCH_TODO, FETCH_TODOS, DELETE_TODO } from './types'; export const signIn = userId => { return { type: SIGN_IN, payload: userId }; }; export const signOut = () => { return { type: SIGN_OUT }; }; export const fetchTodos = () => async dispatch => { const response = await todos.get('/todos'); dispatch({ type: FETCH_TODOS, payload: response.data }); }; export const createTodo = formValues => async dispatch => { const response = await todos.post('/todos', formValues); dispatch({ type: CREATE_TODO, payload: response.data }); history.push('/'); };
添加回答
举报
0/150
提交
取消