题目
一个余额组件在切换账户后仍显示旧数据,另一个页面为了「保持最新」把轮询间隔设得很短。请说明 useReadContract 的读取参数与查询选项应如何使用,并给出更合理的刷新方式。
考察目标
- 读取参数与账户、链、区块位置的关系。
- 查询选项的作用与使用边界。
- 返回值中可用于失效的字段。
说明读取参数、账户与区块位置的含义,以及查询选项与返回值的使用方式。
一个余额组件在切换账户后仍显示旧数据,另一个页面为了「保持最新」把轮询间隔设得很短。请说明 useReadContract 的读取参数与查询选项应如何使用,并给出更合理的刷新方式。
useReadContract 的基础参数是 abi、address、functionName 与 args,account 决定读取时的调用方,chainId 决定读哪条链,blockNumber 与 blockTag 决定读取采用的区块位置。query.enabled 用于条件不满足时暂停请求,query 下可配置 refetchInterval、staleTime 与 retry 等刷新与重试选项。实现差异与工程取舍见深入回答。
发现这道题有问题? 反馈此题