ES6 解构对象中的三元条件

Ternary condition in ES6 destructuring object

我写了一个无状态函数,在这个函数中我使用了一个解构对象声明,但是我的一个变量有条件。我用三元条件写的。但我不能在解构赋值结构中声明它。

这是我的声明:

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

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

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

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

const pageno = TempPageNo ? TempPageNo - 1 : TempPageNo;