Reactjs 正在从action.payload获取[object]

Reactjs 正在从action.payload获取[object],reactjs,redux,Reactjs,Redux,当我分派getUser操作生成器时。我的代码有什么问题吗 //ACTION export const getUser = (uid) => dispatch =>{ console.log('hellow from getuser'); return axios .get(`url/${uid}`) .then((res) =>{ const userData = res.dat

当我分派getUser操作生成器时。我的代码有什么问题吗

//ACTION

export const getUser = (uid) => dispatch =>{

    console.log('hellow from getuser');
    return axios
            .get(`url/${uid}`)
            .then((res) =>{
                const userData = res.data;
                console.log(userData);
                dispatch({
                    type: USER_DETAILS,
                    userData
                });
            }
        )
};

//REDUCER

const userReducerDefaultState = [];

const userReducer = (state = userReducerDefaultState, 
action) =>{
console.log(action.userData); //*1
switch(action.type){
    case 'USER_DETAILS':{
        console.log('hi'+{...action.userData}); //*2
        return[
            ...state,
            action.userData
        ]
    }
当我调度getUser时,我从*2 console.log获取“Hi[object object]”。 但是从*1 Console.log获得了以下数据。这也是来自*2的所需数据

bio:null
followers:[]
followings:[]
name:"saheb"
posts:(5) [{…}, {…}, {…}, {…}, {…}]
__v:0
_id:"y08RxtsHeacQTwiuNTAA"
你可以这样做

console.log('hi',{...action.userData})

+
运算符将通过调用
toString()
方法将参数强制为字符串。在控制台中尝试
({}).toString()
。它将返回“[object]”。所以,这不应该太令人惊讶。如果要将对象记录到控制台,则需要将其作为单独的参数(如@Zenp所建议的)传递,或者将其记录到新的控制台语句中。