问题描述
我使用 recyclerlistview 并希望在单击时更改图标。但是 Recyclerlistview 不会重新渲染,除非我使用了扩展状态。但是随后所有行都发生了变化并且速度很慢。也许我的新图标不是直接显示在 0.500-800 毫秒内。为什么?
一小段只是一个例子。
const List = () => {
const [changeIcon,setChangeIcon] = useState(false);
const [updateRecycler,setUpdateRecycler] = useState({update: false})
const updateRecycler = () => {
setChangeIcon(prevstate => !prevstate);
setUpdateRecycler(prevstate => !prevstate);
};
const roWrenderer = (type,data) => {
const { name } = data.item;
return (
<View>
<TouchableOpacity onPress={() => ChangeIcon()}>
{ changeIcon ?
<Icon1 name="heart" size={32} color="black" /> : <Icon1 name="heart-o" size={32} color="black" />
}
</TouchableOpacity>
</View>
)
};
<RecyclerListView
style={{flex: 1,paddingTop: 20}}
roWrenderer={roWrenderer}
extendedState={updateRecycler}
optimizeforInsertDeleteAnimations
dataProvider={dataList}
layoutProvider={dataLayoutProvider}
/>
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)