【问题标题】:React Redux error: default parameters should be last default-param-lastReact Redux 错误:默认参数应该是最后一个 default-param-last
【发布时间】:2020-09-27 06:11:38
【问题描述】:

在 React 中使用 Redux 我收到一条警告,默认参数应该是最后一个 default-param-last。在我创建 const 仓库的那一行。我如何创建代码有问题吗?还是有更好的代码?

这是我的代码

import {SAVE_ACTION} from '../actions/save-action';


cons initialState = {
    datasToSave:[]
};

const warehouse = (state = initialState, {type, payload}) => {
    switch(type) {
        case SAVE_ACTION: {
            const {datasToSave} = payload
            return {
                ...state,
                dataToSave
                };
            }

        default:
            return state;
    }
};

export default warehouse;

【问题讨论】:

  • 你可以添加带有dispath(动作)的部分
  • 请不要破坏您的帖子。

标签: reactjs redux react-redux reducers


【解决方案1】:

为你的动作参数添加一个默认值:

import {SAVE_ACTION} from '../actions/save-action';


cons initialState = {
    datasToSave:[]
};

const warehouse = (state = initialState, {type, payload} = {}) => {
    switch(type) {
        case SAVE_ACTION: {
            const {datasToSave} = payload
            return {
                ...state,
                dataToSave
                };
            }

        default:
            return state;
    }
};

export default warehouse;

您的代码没有任何问题。 default-param-last eslint 规则只是意味着在这种情况下,您需要在两个参数上指定默认值或禁用该特定行的规则。该规则希望您执行 ({type, payload}, state = initialState) => 但这不起作用,因为 redux 会以不同的顺序使用参数调用您的减速器。我会在 action 参数上设置默认值来解决这个问题:)。

【讨论】:

    猜你喜欢
    • 2023-02-04
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 2020-03-24
    • 2012-05-22
    • 1970-01-01
    • 2010-11-15
    相关资源
    最近更新 更多