首页 > 解决方案 > 可以通过解构使这个赋值更简单吗?

问题描述

我还在努力学习一路解构。我知道的足够清楚,可能有一种方法可以更简洁地编写这个。在那儿?

      this.props.setStateObjects({
        data:     data.reservation_data.data,
        included: data.reservation_data.included
      })

编辑:

根据@Sung M Kim 下面的要求,这是上下文:

    $.ajax({
    })
    .done( ( data ) => {
      this.props.setStateObjects({
        data:     data.reservation_data.data,
        included: data.reservation_data.included
      })
    })

标签: reactjsecmascript-6

解决方案


您可以应用解构 todata来提取reservation_data,然后从 中提取dataincluded字段reservation_data。然后您可以使用速记对象键值表示法将它们设置为状态,如下所示

const { reservation_data: { data: dataToSet, included } } = data

或更少的解构

const { data: dataToSet, included } = data

然后将其设置为状态

this.props.setStateObjects({
  data: dataToSet,
  included
})

推荐阅读