我想在react本机中使用React.memo进行优化。
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来反应本机吗?
发布于 2019-09-14 22:57:08
你想要回忆录的“组件”不是一个正确的反应组件,它没有被传递任何道具。react memo HOC也只适用于功能组件,对基于类的组件使用PureComponent。
您需要确保您正在使用引入memo自定义的are的当前版本,并按如下方式使用:
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!发布于 2019-09-14 14:39:03
const MyFunctionComponent = ({text}) => <Text>{text}</Text>;
MyFunctionComponent.displayName = 'HarmlessComponent';
MyFunctionComponent.propTypes = {text: PropTypes.string.isRequired};
export default React.memo(MyFunctionComponent);https://stackoverflow.com/questions/53351991
复制相似问题