【问题标题】:Javascript destructuring: Assigning defaults with dynamic propertiesJavascript 解构:使用动态属性分配默认值
【发布时间】:2020-02-04 20:50:30
【问题描述】:

我正在使用apollouseQuery 钩子,当dataundefined(或者如果这甚至可以实现)时,我正在寻找一种更简洁的方法来编写以下语句。

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

感谢您的帮助,

【问题讨论】:

    标签: javascript react-hooks react-apollo


    【解决方案1】:

    你很接近。只需结合第二个 sn-p 的默认分配。如果未定义,这会将 data 分配给空对象文字。如果data 没有foo 属性,它将为foo 分配一个空数组字面量

    const { data: { foo = [] } = {}, loading} = { data: undefined, loading: true };
    console.log(foo, loading);

    【讨论】:

    • 你先生,应该得到一块饼干!啊,这在过去的 30 分钟里一直让我发疯,确信你不能同时分配和深入!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 2019-03-20
    • 2017-12-04
    相关资源
    最近更新 更多