提问人:BrenD 提问时间:11/17/2023 最后编辑:BrenD 更新时间:11/17/2023 访问量:36
当用户退出时,如何阻止 reactjs 重新呈现页面?
How do I stop reactjs from re-rendering the page when the user tabs out?
问:
非常一般的问题:我有一个相对简单的 react/nextjs 页面,上面有一个图形界面。每次我在Firefox上更改选项卡并重新访问页面时,页面都会重新呈现并导致界面重置。我怎样才能阻止这种情况?我尝试在相关组件上使用备忘录,但无济于事。
使用一些代码片段进行编辑,一些变量名称已被审查:
这是一个包含一个开关的备忘录,该开关根据变量“t”返回内容。
const PageContents = memo(function PageContents({t}) {
console.log("re-rendering the page contents...")
switch(t) {
case "graph":
console.log("graph tab")
return(
<>
<Graph data={data}/>
</>
)
...other cases...
});
返回:
return (
<>
<Helmet>
<title>Title</title>
</Helmet>
<MenuAppBar position="absolute"/>
<Container component="main" maxWidth={false} >
<Stack direction={"row"} justifyContent={"space-between"}>
<Box pt={3} display={"flex"}>
<Typography variant="h4">
Schema: {schema}
</Typography>
</Box>
<TabBar/>
</Stack>
<BasicBreadcrumbs/>
<PageContents t={tab}/> //'tab' comes from router.query
</Container>
</>
)
答:
0赞
BrenD
11/25/2023
#1
我通过删除组件顶部所有未使用的useState()来解决这个问题。
评论