我有
使用用户数据
用于从服务器获取用户数据的钩子
function App({ client }) {
const data = useUserData({ client })
console.log(data)
// logs {username: 'foo', email: 'foo@bar.com'}
return <AppLayout feed={<Feed />} />
}
export default withApollo(App)
钩子本身是这样的:
function useUserData({ client }) {
const [state, setState] = useState(null)
const getUserData = async () => {
const {
data: { me }
} = await client.query({
query: GET_ME
})
const { username, email } = me
setState(me)
}
useEffect(() => {
getUserData()
}, [])
return state
}
export default useUserData
我知道我必须使用HOC
阿波罗
使每个部件都能使用挂钩。这是一个好方法吗?