预计 Redux 创建减速器

Redux create reducer expected

早上好, 在使用 redux 时出现以下错误,我已经配置了 reducer 和操作什么,我应该修复什么?

错误:预计减速器是一个函数。

代码:

import {createStore} from "redux";

const initalUser={
    IdUtente: 0
 };

const store=createStore(
    initalUser
  )

function userset(state=initalUser,action,value){
    switch(action){
        case "Login":
           state=value;
           return state;
        default:
          return state;
    }
}
export function userReducer(idUtente){ 
    store.userset(initalUser,"Login",idUtente);
}
export function getUser(){
    return store.getState();
}

老实说,您在这里所做的几乎所有事情都是不正确的。 createStore需要用reducer调用,不是初始状态。 userset 并没有神奇地变成商店的 属性,你把它写得更像是一个化简器而不是动作创建者——但它不是一个有效的化简器(它只接受两个参数)而且你在该代码中的任何地方都看不到已调度的操作。

所以,这需要看起来像

import {createStore} from "redux";

const initalUser={
    IdUtente: 0
 };

const store=createStore(
    userReducer
  )

function userReducer(state=initalUser,action){
    switch(action.type){
        case "Login":
           return action.payload;
        default:
          return state;
    }
}

export function userSet(idUtente){ 
    store.dispatch({ type: "Login", payload: idUtente });
}

export function getUser(){
    return store.getState();
}

即使那样也不是非常典型的 redux 代码。

除此之外:这是一种非常过时的 redux 风格,我们不建议再教授或学习它

请忽略你现在正在学习的任何教程,转到 https://redux.js.org/tutorials/index 上的官方 redux 教程并从头到尾学习它们(它们从旧式 redux 开始解释基础知识然后教你modern redux,看起来很不一样)。