如何阻止 reducer key 本身就是一个 key
How to stop reducer key being a key in itself
基本上我总是遇到这个问题,因为 reducer 是对象存储的键
例如,它们的访问方式类似于 this.props.users
所以如果用户状态是一个数组,这没问题
const initialState = []
但如果我有这个:
const initialState = {
users: [],
loading: false,
error: ""
};
因为你知道,我的减速器还需要做一些事情
然后我的代码库中突然出现了这个可怕的东西,我正在做这样的事情:
this.props.users.users
显然,恶心。我怎样才能把它恢复到 this.props.users
但又能访问其他东西?
一个reducer代码案例示例:
case FETCHING_USERS_SUCCEEDED: {
return {
...state,
loading: false,
users: [].concat(...state.users).concat(action.userData)
};
}
你可以像这样将用户声明为变量
const {users} = this.props.users
thereafter you can use users instead of this.props.users.users
当你将状态映射到道具时,映射 state.users.users 而不是 state.users。
基本上我总是遇到这个问题,因为 reducer 是对象存储的键
例如,它们的访问方式类似于 this.props.users
所以如果用户状态是一个数组,这没问题
const initialState = []
但如果我有这个:
const initialState = {
users: [],
loading: false,
error: ""
};
因为你知道,我的减速器还需要做一些事情
然后我的代码库中突然出现了这个可怕的东西,我正在做这样的事情:
this.props.users.users
显然,恶心。我怎样才能把它恢复到 this.props.users
但又能访问其他东西?
一个reducer代码案例示例:
case FETCHING_USERS_SUCCEEDED: {
return {
...state,
loading: false,
users: [].concat(...state.users).concat(action.userData)
};
}
你可以像这样将用户声明为变量
const {users} = this.props.users
thereafter you can use users instead of this.props.users.users
当你将状态映射到道具时,映射 state.users.users 而不是 state.users。