Redux axios动作包括来自函数的请求中的变量参数

时间:2017-05-24 15:54:32

标签: javascript reactjs object redux axios

目前我正在努力完成以下任务,我猜这应该很简单。

我有一个userAction.jsx文件,我可以在其中进行API调用以检查用户是否存在。我想在api调用变量中创建我发送的参数,这样我就可以使这个函数更加灵活和可重用。

该功能看起来如下;

export function userExists(email) {

    return function(dispatch) {

        axios.get('http://apiserver.com/api/users.php', {
            params : {
                email : email
            }
        })
            .then((response) => {
                dispatch({ type : "USER_EXISTS_FULFILLED", payload : response.data })
            })
            .catch((err) => {
                dispatch({ type : "USER_EXISTS_REJECTED", payload : err })
            });
    }
}
带有参数的'params'部分应该变成变量,所以我可以在dispatcher =>中做这样的事情。 dispatch(userExists({email:values.email})。当我做这样的事情时,我不能让它工作:

export function userExists(params) {

    return function(dispatch) {

        axios.get('http://apiserver.com/api/users.php', {
            params : {
                params
            }
        })
            .then((response) => {
                dispatch({ type : "USER_EXISTS_FULFILLED", payload : response.data })
            })
            .catch((err) => {
                dispatch({ type : "USER_EXISTS_REJECTED", payload : err })
            });
    }
}

1 个答案:

答案 0 :(得分:2)

您需要传播对象:

params: {
    ...email
}