3

我有一个清单。里面有10个元素。我用 flatlist 展示这个。但是当列表中的 10 个元素中的 1 个发生变化时,它会再次渲染其中的 10 个。我打算用 memo 解决这个问题(flatlist 必须自己解决这个问题,但无论如何),但我遇到了语法错误。错误:renderItem 不起作用。

const Item = React.memo( ({item}) => (
   <Text>{item.name}</Text>
))

const List = () => {
  return (
     <FlatList
        ..
        renderItem = {Item}
     >
)}
export default React.memo(List);
4

2 回答 2

0

替换这个

renderItem = {Item}

renderItem={({ item }) => <Item item={item} />}
于 2020-11-27T08:06:26.267 回答
0

但是当列表中的 10 个元素中的 1 个发生变化时,它会再次渲染其中的 10 个

我想你忘了添加 Flatlist extraData道具。有关更多详细信息,请查看

于 2020-11-27T13:43:09.070 回答