如何在react

时间:2019-04-10 09:43:59

标签: reactjs

如何在react的类组件中为状态数组分配值?

class Dashboard4 extends React.Component {
  state = {
    TotalParts: 0
  };

  async componentDidMount() {
    const d = await actions.getTotalParts();

    this.setState({ TotalParts: d[0].Total });
    this.setState({ v_date: d[0].v_date });
  }
}

在上面的代码片段中,只有一个值被分配给TotalPartsd[0].Total),但是我想从一个名为d的接收对象的多个值中分配多个值,该对象具有两个字段Total。 / p>

当我将TotalParts声明为状态数组时。谁能帮我如何将d对象中的所有Total值分配给TotalParts?

class Dashboard4 extends React.Component {
  state = {
    TotalParts: []
  };

  async componentDidMount() {
    const d = await actions.getTotalParts();

    // How to assign multiple values of Total
    // available in d object to TotalParts:[]?
  }
}

期望d对象中存在的Total的所有值将分配给TotalParts

2 个答案:

答案 0 :(得分:1)

您可以在d数组上使用数组方法map,而只需提取Total值。

this.setState({ TotalParts: d.map(element => element.Total) })

答案 1 :(得分:0)

您可以通过映射d数组来完成此操作,然后返回一个包含Total和v_date的新对象

this.setState({
    TotalParts: d.map(element => {
        return {
            Total: element.Total,
            v_date: element.v_date
        }
    })
})