猿问

Javascript 解构:使用动态属性分配默认值

我正在使用apollo's useQueryhook,我正在寻找一种更简洁的方法来编写以下语句 when datais undefined(或者甚至可以实现)。


// 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);

谢谢你的帮助,


HUX布斯
浏览 121回答 1
1回答

子衿沉夜

你很近。只需结合第二个片段中的默认分配即可。data如果未定义,这将分配给空对象文字。如果data没有foo属性,它将分配一个空数组文字给fooconst { data: { foo = [] } = {}, loading} = { data: undefined, loading: true };console.log(foo, loading);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答