一个redux动作来管理多个项目

Maz*_*Mat 0 javascript reactjs redux

所以我想创建一个通用动作创建器来管理redux商店中的项目.

假设我的redux商店看起来像这样:

one: '',
two: '',
three: ''
Run Code Online (Sandbox Code Playgroud)

我的动作创建者看起来像这样:

export const setStatus = (name, status) =>{
    return function(dispatch){
        dispatch({
            type: 'SET_STATUS',
            name,
            status
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何创建一个可以管理所有这些的动作.试着

case 'SET_STATUS':{
            return{
                ...state,
                action.name: action.status 
            }
        }
Run Code Online (Sandbox Code Playgroud)

但是redux不会让我.有没有解决方法?

Cha*_*nda 7

您应该使用括号表示法将变量用作键:

case 'SET_STATUS':{
    return{
        ...state,
        [action.name]: action.status 
    }
}
Run Code Online (Sandbox Code Playgroud)