我有一个查询组件,该组件获取已登录用户的信息。查询本身可以工作,但是我无法将查询结果作为对象返回,然后又想传递给React.createContext( )
我正在使用Apollo客户端在我的React应用程序中创建查询组件。
以下是我当前代码的示例:
function getUser() {
return (
<Query query={query.USER_INFO}>
{({ loading, error, data }) => {
if (loading) return <div>Loading</div>;
if (error) return <div>error</div>;
const userInfo = {
name: data.user.name,
age: data.user.age,
}
}}
</Query>
);
}
//need userInfo object to go here
export const UserContext = React.createContext(userInfo);
如何获取查询的返回值然后在React.createContext中使用?我之所以要这样做,是为了避免在每个我要登录用户信息的组件中重写此查询。
答案 0 :(得分:0)
说实话,对我来说,您似乎只是在想一个return语句:
function getUser(){ 返回( {{{loading,error,data})=> { 如果(正在加载)返回正在加载; 如果(错误)返回错误;
const userInfo = {
name: data.user.name,
age: data.user.age,
}
return userInfo // ----- this here
}}
</Query>
);
}
//need userInfo object to go here
export const UserContext = React.createContext(userInfo);
但是我没有对其进行测试,也没有采用这种方法-请尝试一下,如果有帮助的话