reactjs - 可以连接 PureComponent 吗?
问题描述
我想知道这是否可以:
import React, { PureComponent } from "react";
import { Text, TouchableOpacity } from "react-native";
import { connect } from "react-redux";
import PropTypes from "prop-types";
class ListItem extends PureComponent {
render() {
return (
<TouchableOpacity>
<Text style={{ color: "red" }}>Some Text</Text>
<TouchableOpacity />
</TouchableOpacity>
);
}
}
export default connect()(ListItem);
而且比可能添加mapStateToProps()
. 或者这是一个反模式?我听说 PureComponents 会降低性能...
解决方案
实际上connect()
function 默认情况下使包装的组件成为纯组件(请参阅docs)。也就是说,只有当属性发生变化(状态或自己的道具)时,才会重新渲染被包装的组件。所以从 PureComponent 继承是没有意义的,因为shouldComponentUpdate
逻辑已经在由connect()
.
我听说 PureComponents 会降低性能...
PureComponent 执行的浅 props 比较是相对便宜的操作。我不认为这会是一个问题。
推荐阅读
- javascript - 如何在我的谷歌地图 api 网络中添加多个搜索框?
- reactjs - 在动态 URL 中传递查询参数以在另一个页面上使用
- github - 将整个主分支从一个 GitHub 企业服务器复制到另一个位置的另一个 GitHub 企业服务器
- python - 基于多行值改变行值的有效方法
- mule - Mule - 从 HashMap 生成 JSON 格式的有效负载
采用以下格式 - python - 在解析 XML 时检查 None 值
- javascript - 有没有办法从我的网站的每个浏览器中删除滚动条?
- python - 向字段发送输入并不总是有效
- java - Android:如何从对象名称可能更改的 JSON 响应中检索多个 JSON 对象?
- java - 如何在 java 上发送 x-www-form 请求?