NodeJS 错误:操作必须是普通对象,实际类型为:'字符串'

cu6pst1q  于 2022-12-18  发布在  Node.js
关注(0)|答案(1)|浏览(92)

错误:
操作必须是普通对象。实际类型为:'string'。您可能需要在商店设置中添加中间件来处理其他值的调度,例如'redux-thunk'来处理调度函数。
下面的代码是客户端,我在其中将选定的用户id分派给操作。

const friendHandle = (e) => {
        e.preventDefault()
        setSwitch(false)
        setFriend(!friend)
        dispatch(friendUser(id))//id is the id from params of selected users
        setFetchAgain(!fetchAgain)
    }

    useEffect(() => {
        if(currentUser){
            currentUser?.friends?.map(friends => {
                console.log(friends._id)
                console.log(currentProfile._id)
                if(friends._id===currentProfile._id){
                    return setFriend(true)
                }
            })
        }else{
            return setFriend(false)
        }
    },[currentUser,currentProfile])

下面是上面代码的actions.js

export const friendUser = (id) => async (dispatch) => {
    try {
     await api.friendUser(id)
        dispatch(id)
    } catch (error) {
        console.log(error)
    }
}

我正在尝试传递选定用户的ID,但收到错误。我是React的新手,因此无法理解。

mfpqipee

mfpqipee1#

从操作中删除dispatch(id),可能是一些复制\粘贴或合并错误

相关问题