可以在没有箭头功能的情况下反应本机备忘录或 usememo 吗?

react native memo or usememo without arrow function possible?

我想使用没有箭头功能的备忘录或useMemo。那可能吗 ?因为箭头函数创建的是新实例,我希望它避免。

import React, { memo, useMemo } from 'react';
import { StyleSheet, Text, View, FlatList, TextInput, TouchableOpacity, Image, Dimensions } from 'react-native';

const Shopping_cart = ({ datas, onPressSetting }) => {
  const RenderItem = useMemo(({item}) => {
    return (
      <Text>{item.title}</Text>
    )
  }, [datas]);
  return (
    <FlatList 
      data={datas}
      keyExtractor={item => item.item.product_id}
      renderItem={({ item }) => <RenderItem item={item} />}
    />
  )
};

这个没有箭头?有人有想法吗?

谢谢!

你应该为此使用 useCallback 钩子。 您可以在 React 官方文档中阅读更多相关信息:useCallback

import React, { memo, useCallback } from 'react';
import { StyleSheet, Text, View, FlatList, TextInput, TouchableOpacity, Image, Dimensions } from 'react-native';

const Shopping_cart = ({ datas, onPressSetting }) => {
  const RenderItem = useCallback(({item}) => {
    return (
      <Text>{item.title}</Text>
    )
  }, [datas]);
  return (
    <FlatList 
      data={datas}
      keyExtractor={item => item.item.product_id}
      renderItem={RenderItem}
    />
  )
};