首页 > 解决方案 > 警告:来自 useState() 和 useReducer() Hooks 的状态更新不支持 " + ... MERN 堆栈应用程序

问题描述

为什么我的 setUser 在我 console.log 时返回该警告?:

function dispatchAction(fiber, queue, action) {
  {
    if (typeof arguments[3] === 'function') {
      error("State updates from the useState() and useReducer() Hooks don't support the " + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');
    }
  }

这是功能:

const UserContextProvider = (props) => {
    const [user, setUser] = useState({})
    
    useEffect(() => {
        fetch(`${API}/auth/user`, {
            method: 'GET',
            withCredentials: true,
            credentials: 'include'
        })
        .then (response => response.json())
        .then (response => {
            setUser(response.user)
            console.log(setUser)
        })
        .catch (error => {
            console.error (error);
        });
    }, [setUser])

注意: response.user 只是一个对象。而且我可以访问用户中的数据,而子组件中没有问题。

标签: node.jsreactjsmongodbexpressmern

解决方案


推荐阅读