为什么我的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只是一个对象,我可以访问user中的数据,而在子组件中没有问题。
2条答案
按热度按时间uqjltbpv1#
我也有这个问题在我的例子中,这是因为我没有在子组件中声明所有传递的上下文。例如,在我的提供程序中,我有:
但我只是在子组件中声明了内容状态:
因此,它认为
filter
状态是user
的setter,我将其更改为包含所有传递的上下文:而且效果很好。
cigdeys32#
您是否希望从useState查看clg打印用户中的API数据?
常量用户上下文提供程序=(属性)=〉{常量[用户,设置用户] =使用状态({})