javascript - 反应 useEffect 检测是否找到记录
问题描述
我正在这样做
const data = useQuery("query");
它返回{good:'nice'}
我有
useEffect(() => {
if(!data) {
// show not found
}
}, [data])
在useEffect
,data
在第一次重新渲染中为空,然后在第二次渲染中变为实际值,因为useQuery
需要时间。
我需要not found record
在上面显示,但我无法区分是否找不到记录,或者它是否是尚未返回数据的第 n 个渲染。
作为最佳实践,您如何解决这个问题?我不想带另一个变量来跟踪这个。看起来很糟糕。
解决方案
useQuery 返回属性isLoading
。你可以使用这个。
推荐阅读
- python - 如何将数据从 UDP 端口发送到 lora 传感器节点?
- flutter - 如何从 TextEditingController (TextFormField) 中截断前导零
- linux - 如何避免 std::vector 代码的多个副本
? - angular - 带地图的单元测试主题
- flutter - 用于包含 ConstrainedBox 最大高度的 SingleChildScrollView 高度 - Flutter
- python - 正则表达式 - 否定表达式匹配
- javascript - 单击滚动间谍链接时折叠 Bootstrap 汉堡菜单
- matlab - MATLAB:使用“set(gca,'ColorScale','log')”时,Imagesc 颜色图不反映颜色条颜色
- excel - 当我到达 excel 中的双字母时,我的列循环停止
- javascript - 我必须在 React 中使用 FormData() 将文件发送到服务器吗?