首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >组件在重呈现时丢失状态。

组件在重呈现时丢失状态。
EN

Stack Overflow用户
提问于 2022-08-16 09:06:02
回答 2查看 101关注 0票数 0

我需要一些React的帮助。据我所知,它应该运行得很好。但是,这是行不通的。我想做的是:

  • 我有一份待办事项清单。
  • 您可以添加新的待办事项,也可以展开待办事项部分。
  • 当您展开todo部分时,它将打开全屏。

问题是,在展开待办事项时,新添加的待办事项不会出现。为什么呢?,我基本上是在使用相同的组件。为什么新增加的待办事项会在待办部分扩大时消失?反之亦然,当您展开、添加新的待办事项并关闭模式时,新添加的待办事项将不会出现。怎样才能使新的待办事项继续存在,不管是否展开了待办事项部分。

请看一下我开发的小型演示应用程序。

全码箱链接

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-16 09:12:57

Todo组件不是重新呈现,而是卸载和重新挂载。您的状态在Todo组件中,但是每次expand更改时,Todo都会在Dialog组件中被卸载和重新挂载。这导致它失去了内部状态。解决方案是将状态提升到树中,即将状态保存在Demo组件中。

文档中的相关部分:提升状态

票数 2
EN

Stack Overflow用户

发布于 2022-08-16 09:30:03

您的状态会丢失,以防它不是全局管理的或上面的一个层。要解决这个问题,您可以看看Redux。它是一个用于管理和集中应用程序状态的库。它是开放源码的,很好地采用,一个很好的库,了解,也可以用于进一步的javascript框架,如角。

https://react-redux.js.org/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73371455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档