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
在 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