Javascript 如何共享来自不同React钩子的非结构化变量?
如何共享来自不同React钩子的非结构化变量 我在同一页中有几个:Javascript 如何共享来自不同React钩子的非结构化变量?,javascript,ecmascript-6,react-hooks,apollo-client,destructuring,Javascript,Ecmascript 6,React Hooks,Apollo Client,Destructuring,如何共享来自不同React钩子的非结构化变量 我在同一页中有几个: const { loadingDogs, errorDogs, dataDogs } = useQuery(GET_DOGS); const { loadingCats, errorCats, dataCats } = useQuery(GET_CATS); ... 是否可以使用相同的变量来加载和错误,以便对旋转图像进行集中管理?也许阿波罗有更聪明的方法来实现这一点,但如果没有,您可以这样做: const [isLoading
const { loadingDogs, errorDogs, dataDogs } = useQuery(GET_DOGS);
const { loadingCats, errorCats, dataCats } = useQuery(GET_CATS);
...
是否可以使用相同的变量来加载
和错误
,以便对旋转图像进行集中管理?也许阿波罗有更聪明的方法来实现这一点,但如果没有,您可以这样做:
const [isLoading, setLoading] = useState(false);
useEffect(() => {
setLoading(loadingDogs || loadingCats);
},[loadingDogs, loadingCats]);
不确定错误的格式,但可能是:
const [errors, setErrors] = useState([]);
useEffect(() => {
setErrors(/* merge the errors here */);
},[errorCats, errorDogs]);
您可以像这样重命名已分解对象属性
const{loading:loadingDogs,error:dogsError,data:dogData}=useQuery(GET_DOGS);
const{loading:loadingCats,error:catsError,data:catData}=useQuery(GET_CATS);
可能不在同一行中。Tryconst loading={dogs:loadingDogs}
和const error={dogs:errorDogs}
?是加载dogs
、errorDogs
等。返回对象中的真正键?或者每个查询是否返回一个{loading,error,data}
,而您只是不确定如何构造逻辑?@chazsolo后者。这就是阿波罗的useQuery
所返回的结果