为了账号安全,请及时绑定邮箱和手机立即绑定

React Redux 状态对象属性

React Redux 状态对象属性

九州编程 2021-06-16 18:19:30
我想知道为什么我的状态 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('/');    };
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信