我正在使用apollo
的useQuery
钩子,我正在寻找一种更简洁的方式来在undefined
时编写以下语句data
(或者如果这甚至可以实现(。
// hook example
// const {data: {foo=[]}, loading} = useQuery(Q);
const {data:{foo}, loading} = {data: {foo: [1, 2, 3, 4]}, loading: false};
console.log(foo, loading);
当数据undefined
时:
// hook example
// const {data:{}, loading} = useQuery(Q);
// const {foo} = data;
const {data={}, loading} = {data: undefined, loading: true};
const {foo=[]} = data;
console.log(foo, loading);
感谢您的帮助,
你很接近。只需组合第二个代码段中的默认赋值即可。这会将data
分配给空对象文本(如果未定义(。如果data
没有foo
属性,它将为foo
分配一个空数组文本
const { data: { foo = [] } = {}, loading} = { data: undefined, loading: true };
console.log(foo, loading);