reactjs - 如何一次只更新/重绘一个组件
问题描述
我有一个带有一些卡片的屏幕。屏幕底部是一个按钮,一旦用户按下按钮,我就可以在其中执行一些功能。我所做的是创建一个函数来更新名为“modalOpen”的钩子。因此,每当按下按钮时,它都会使用钩子将 modalOpen 设置为 true 并显示一个模式表。
这工作正常,直到我意识到每次打开模式表时,我的所有其他钩子都被触发。因此,每当我点击按钮时,我的所有卡片都会不断重画。
我尝试了几种方法,我最初尝试为我的 useEffect 设置条件,它在内部调用了一个 setCards 钩子,但由于某种原因,这似乎失败了。
我尝试为我的模态表创建一个单独的组件,但问题是如何将钩子传递到我的主应用程序屏幕,以便我可以通过按下按钮来触发它。我使用参考无济于事以及将道具传递回主应用程序屏幕。
我的目标正确吗?我应该怎么做才能实现这一目标?
解决方案
推荐阅读
- java - Spring JPA Query:与数字一起使用
- javascript - 多页表格不会超过第一部分
- tensorflow - 在 TPU 上运行时出错,“NotImplementedError: TPUStrategy.run(fn, ...) does not support pure eager execution.....”
- react-native - undefined 不是一个对象(评估'route.params.id')
- java - 按薪水排序:比较器没有显示错误,但不起作用
- c# - Net Core:在洋葱架构中使用OData,将查询参数转换为Linq
- android - Flutter [第一个应用程序] 在 android studio 和 vscode 上崩溃
- flutter - 我的代码返回 [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:类型 'String' 不是类型 'int' 的子类型
- azure - Azure 媒体服务流式传输允许的 IP 地址不起作用
- javascript - 如何将我的 onclick JS 转换为点击事件监听器?