React useInfiniteQuery前置数据导致列表全量重渲染问题求助
React-Query useInfiniteQuery 前置数据触发全量重渲染问题
我使用React-Query的useInfiniteQuery Hook获取列表数据,渲染代码如下:
{data.pages.map((page) => page.data.map((project) => ( <Project project={project} key={project.id} /> )), )}
当下一页数据追加到列表末尾时,仅新增项会渲染,符合预期。但获取上一页数据并前置到列表开头时,所有列表项都会重新渲染。
我测试了不使用React-Query、仅用items状态的场景:此时无论在列表开头或末尾添加数据,其他项都不会重渲染。渲染代码如下:
{items.map((project) => ( <Project project={project} key={project.id} /> ))}
内容的提问来源于stack exchange,提问作者Floki
相关产品推荐
相关产品推荐

