ES6解构对象中的三元条件

时间:2017-05-21 10:09:50

标签: reactjs ecmascript-6 destructuring

我写了一个无状态函数,在这个函数中我使用了Destructuring对象声明,但我的一个变量有条件。我用三元条件写了它。但我无法在解构分配结构中声明它。

这是我的声明:

    const pageNo = props.filters.pageno
                     ? props.filters.pageno -1
                     : 0;

    const {
        data: {
            result: {
                total : total
            } = {}
        },
        tags: {
            result: {
                categoryFilter: {
                    Title : title
                } = {}
            } = {}
        }
    } = props;

3 个答案:

答案 0 :(得分:3)

你不能直接。你可以这样做:

const {filters: {pageno}} = props;
const realPageno = pageno ? pageno - 1 : 0;

答案 1 :(得分:0)

您实际上可以做到:

const { filters: pageNo = 0} = this.props;

解构就像一个函数,您可以在其中传递默认参数,

答案 2 :(得分:-1)

  const {
    data: {
        result: {
            total : total = 0
        } = {}
    }={},
    filters: {
         pageno: TempPageNo = 0
    }={},
    tags: {
        result: {
            categoryFilter: {
                Title : title = "something"
            } = {}
        } = {}
    }={}
} = props;

const pageno = TempPageNo ? TempPageNo - 1 : TempPageNo