React Redux error: default parameters should be last default-param-last

React Redux error: default parameters should be last default-param-last

在 React 中使用 Redux 我收到警告,默认参数应该是最后一个 default-param-last。在我创建常量仓库的那一行。我创建代码的方式有误吗?或者有更好的代码吗?

这是我的代码

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;

为您的操作参数添加一个默认值:

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 参数上设置默认值来解决这个问题 :).

我完全同意上述回答,但您也可以在 .eslint 文件中禁用对默认参数 last 的检查。

在 .eslint 文件中 add/edit:

"default-param-last": 0