React Redux错误:默认参数应该是最后一个default-param-last。

问题描述 投票:0回答:1

在React中使用Redux时,我在创建const warehouse的那一行出现了一个警告,即默认参数应该是最后的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;
reactjs redux react-redux reducers
1个回答
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会以不同的顺序调用你的reducer的参数。我会设置动作参数的默认值来解决这个问题:)。

© www.soinside.com 2019 - 2024. All rights reserved.