任何类型的数据都可以传递给 React Native 组件。如果将整个数据对象传递给属性,应用程序会减慢很多吗?这不是不好的做法吗?
也就是说,取而代之的是
<ItemCatalog
id={item.product_id}
image={item.image}
name={item.name}
brand={item.manufacturer.name}
size={item.extra_field_4}
price={item.product_price}
unit={this.category.unit}
onPressItem={(id) => navigate('Product', {
id: id
})} />
像这样
<ItemCatalog
id={item.product_id}
data={item}
onPressItem={(id) => navigate('Product', {
id: id
})} />
事实并非如此,实践更糟糕 - 大量参数,必须到处找到妥协。
根据示例,您将对象的所有字段作为参数传递,现在您正在传递对象本身。你已经来到
DTO(可能):更深入信息的链接:
https://martinfowler.com/eaaCatalog/dataTransferObject.html
https://ru.wikipedia.org/wiki/DTO
DTO、POCO (POJO) 和值对象之间区别的说明性示例
至于传递对象的速度——别担心,对象是通过引用传递的,而不是副本。如果你担心应用程序的速度,那么需要解决的主要问题是 React Native。