首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >react组件组合,但令人困惑

react组件组合,但令人困惑
EN

Stack Overflow用户
提问于 2021-11-03 21:10:28
回答 1查看 46关注 0票数 0

所以我有一个代码片段here,基本上呈现了丹提到的idea,它是在react中提升内容,以自然地提高性能并编写更干净的代码。在InputField组件中,按钮总是渲染,这不是我想要的行为,它应该跳过渲染按钮组件.so它应该做的是跳过渲染,因为按钮是输入域的子道具,如果子道具没有改变,react将跳过渲染。

丹解释了类似的概念示例:“当颜色改变时,ColorPicker会重新渲染。但它仍然有上次从应用程序中获得的相同的子道具,所以React不会访问那个子树。”

所以我很困惑,多个子道具的问题是不是因为InputField有值,onChange,子道具,其中一个改变了,react决定更新其他的?我有一个here的例子,可以证明这不是多个道具的问题。

编辑:后续问题,在现实世界中,顶级组件必须有各种useState、状态更新等,这是否意味着“提升内容”(组件组合)在现实世界中是不实用的?只是从节省一些渲染计算能力的角度来看。(我们知道它还有其他好处,比如帮助进行一些道具钻探)有没有什么现实世界的实现、代码示例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-06 00:14:36

在评论中感谢@雅各布·斯密特。解决了我的问题。我的按钮组件在组件结构中仍然是两层,“提升内容”的方法是在代码中向上提升内容(组件),这样当你在较低的组件中使用setState()时,它不会影响该内容(组件).so较低的组件保留需要传递的道具。在这里,正如雅各布所说的,我的setState()触发了Button和InputField的重新呈现,所以Button将被呈现。

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

https://stackoverflow.com/questions/69831766

复制
相关文章

相似问题

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