在大多数情况下,具有基本类型的组件是否应为纯组件?

时间:2019-07-31 01:56:27

标签: reactjs react-redux

在大多数情况下(如果不是所有情况下),具有所有原始原型的组件应该是纯净的吗?

    ProductLookupControl.propTypes = {
     selectedProductCode: PropTypes.string,
     dataTestId: PropTypes.string,
     selectedProductName: PropTypes.string,  
     cityCode: PropTypes.string,
     currencyCode: PropTypes.string,    
     disabled: PropTypes.bool    
   }

1 个答案:

答案 0 :(得分:0)

道具类型是否为原始类型都没关系,您应该始终使用纯组件。纯组件是优化React应用程序的最重要方法之一。 Pure Component的使用可以显着提高性能,因为它减少了应用程序中的渲染操作次数。

何时使用Pure Components?

假设您创建一个词典页面,在其中显示以A开头的所有英语单词的含义。现在您可以编写一个组件,该组件将单词及其含义作为道具,并返回正确的视图。并假设您使用分页一次仅显示10个单词,并滚动滚动请求另外10个单词并更新父组件的状态。在这种情况下,应使用Pure Components,因为它将避免呈现上一个API请求中呈现的所有单词。

如果您要使用Component的生命周期方法,那么我们也必须使用Pure Components,因为无状态组件没有生命周期方法。

  

结论

Pure Components可显着提高性能,因为它减少了应用程序中的渲染操作数量,这对于复杂的UI来说是一个巨大的胜利,因此建议尽可能使用。另外,在某些情况下,您想使用Component的生命周期方法,在这种情况下,我们不能使用无状态组件。