首页 > 解决方案 > 如何一次只更新/重绘一个组件

问题描述

我有一个带有一些卡片的屏幕。屏幕底部是一个按钮,一旦用户按下按钮,我就可以在其中执行一些功能。我所做的是创建一个函数来更新名为“modalOpen”的钩子。因此,每当按下按钮时,它都会使用钩子将 modalOpen 设置为 true 并显示一个模式表。

这工作正常,直到我意识到每次打开模式表时,我的所有其他钩子都被触发。因此,每当我点击按钮时,我的所有卡片都会不断重画。

我尝试了几种方法,我最初尝试为我的 useEffect 设置条件,它在内部调用了一个 setCards 钩子,但由于某种原因,这似乎失败了。

我尝试为我的模态表创建一个单独的组件,但问题是如何将钩子传递到我的主应用程序屏幕,以便我可以通过按下按钮来触发它。我使用参考无济于事以及将道具传递回主应用程序屏幕。

我的目标正确吗?我应该怎么做才能实现这一目标?

标签: reactjsreact-nativereact-hooksexpo

解决方案


推荐阅读