我正在运行下面的代码,但它在组件中引起了无限的重复。超加权
const dispatch = useDispatch()
const token = useSelector(state => state.token)
const getUser = async () => {
try {
const response = await baseUrl.get('/users/getUser', {
headers: {
authorization: token
}
})
dispatch(SET_USER(response.data.user))
} catch (error) {
Alert.alert(error.response.data.message)
}
}
useEffect(()=>{
getUser()
},[])
可能缺少一些依赖项,请尝试添加useEffect的依赖项,然后用useCallback包装getuser,并添加useCallback钩子的依赖项。
const getUser = useCallback(async () => {
try {
const response = await baseUrl.get('/users/getUser', {
headers: {
authorization: token
}
})
dispatch(SET_USER(response.data.user))
} catch (error) {
Alert.alert(error.response.data.message)
}
},[dispatch, SET_USER]);
useEffect(() => {
getUser();
}, [getUser]);