在大多数情况下(如果不是所有情况下),具有所有原始原型的组件应该是纯净的吗?
ProductLookupControl.propTypes = {
selectedProductCode: PropTypes.string,
dataTestId: PropTypes.string,
selectedProductName: PropTypes.string,
cityCode: PropTypes.string,
currencyCode: PropTypes.string,
disabled: PropTypes.bool
}
答案 0 :(得分:0)
道具类型是否为原始类型都没关系,您应该始终使用纯组件。纯组件是优化React应用程序的最重要方法之一。 Pure Component的使用可以显着提高性能,因为它减少了应用程序中的渲染操作次数。
何时使用Pure Components?
假设您创建一个词典页面,在其中显示以A开头的所有英语单词的含义。现在您可以编写一个组件,该组件将单词及其含义作为道具,并返回正确的视图。并假设您使用分页一次仅显示10个单词,并滚动滚动请求另外10个单词并更新父组件的状态。在这种情况下,应使用Pure Components,因为它将避免呈现上一个API请求中呈现的所有单词。
如果您要使用Component的生命周期方法,那么我们也必须使用Pure Components,因为无状态组件没有生命周期方法。
结论
Pure Components可显着提高性能,因为它减少了应用程序中的渲染操作数量,这对于复杂的UI来说是一个巨大的胜利,因此建议尽可能使用。另外,在某些情况下,您想使用Component的生命周期方法,在这种情况下,我们不能使用无状态组件。