如何赋予多个特性以更短的时间反应成分?

时间:2019-03-06 08:37:00

标签: reactjs

<ReactComponent
      closeModal={this.infoModalToggle}
      customerFirstName={selectedObj.firstName}
      customerLastName={selectedObj.lastName} 
      indicatorNum={selectedObj.indicator}
      customerPhone={selectedObj.customerPhoneNumber}
      pickupTime={formatPickupTime}
      orderNum={selectedObj.orderNumber}
      numOfTotes={selectedObj.totes}
      numOfRefrigerated={selectedObj.refrigerated}
      numOfAmbient={selectedObj.ambient}
      numOfFrozen={selectedObj.frozen}
    />

在此代码段中,为react组件提供了多个属性。这是我的问题是如何以一种更好的方式传递属性,而不是这种方法。是否有可能使用{...}或任何其他方法传递所有属性另一种方式。它将如何破坏组件。

谢谢

1 个答案:

答案 0 :(得分:1)

是的,您可以使用分解来传递​​许多道具,但是请注意,它们将以与您要分解的对象完全相同的名称传递。

例如,您可以去:

<ReactComponent
  closeModal={this.infoModalToggle}
  { ...selectedObj }
/>

但是您的道具名称将从customerFirstName更改为firstName

如果您认为可以解决这个问题,那就更短了。

您甚至可以使用以下命令直接传递对象:

<ReactComponent
  closeModal={this.infoModalToggle}
  selected={ selectedObj }
/>

速度更快,但是您仍然可以更改道具名称。