<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组件提供了多个属性。这是我的问题是如何以一种更好的方式传递属性,而不是这种方法。是否有可能使用{...}或任何其他方法传递所有属性另一种方式。它将如何破坏组件。
谢谢
答案 0 :(得分:1)
是的,您可以使用分解来传递许多道具,但是请注意,它们将以与您要分解的对象完全相同的名称传递。
例如,您可以去:
<ReactComponent
closeModal={this.infoModalToggle}
{ ...selectedObj }
/>
但是您的道具名称将从customerFirstName
更改为firstName
。
如果您认为可以解决这个问题,那就更短了。
您甚至可以使用以下命令直接传递对象:
<ReactComponent
closeModal={this.infoModalToggle}
selected={ selectedObj }
/>
速度更快,但是您仍然可以更改道具名称。