首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在React.memo中使用React.memo

无法在React.memo中使用React.memo
EN

Stack Overflow用户
提问于 2018-11-17 14:08:53
回答 2查看 5.8K关注 0票数 12

我想在react本机中使用React.memo进行优化。

代码语言:javascript
复制
import React from "react";
import { View, Text } from "react-native";

const Memo = React.memo(function() {
  return (
    <View>
      <Text>Ok</Text>
    </View>
  );
});
class Demo extends React.Component {
  render() {
    return <Memo />;
  }
}

export default Demo;

它会产生以下错误:

TypeError :未定义不是一个函数(计算render(nextProps))。此错误位于: in Demo(at renderApplication.js:34) in RCTView(at View.js:44 )

我们可以使用React.memo来反应本机吗?

EN

回答 2

Stack Overflow用户

发布于 2019-09-14 22:57:08

你想要回忆录的“组件”不是一个正确的反应组件,它没有被传递任何道具。react memo HOC也只适用于功能组件,对基于类的组件使用PureComponent

您需要确保您正在使用引入memo自定义的are的当前版本,并按如下方式使用:

代码语言:javascript
复制
import React, { Component, memo } from "react";
import { View, Text } from "react-native";

const Demo = props => (
  <View>
    <Text>Ok</Text>
  </View>
);

export default memo(Demo); // memo HOC memoizes return component based on state and props!

反应备忘录

票数 2
EN

Stack Overflow用户

发布于 2019-09-14 14:39:03

代码语言:javascript
复制
const MyFunctionComponent = ({text}) => <Text>{text}</Text>;

MyFunctionComponent.displayName = 'HarmlessComponent';
MyFunctionComponent.propTypes = {text: PropTypes.string.isRequired};

export default React.memo(MyFunctionComponent);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53351991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档