mirror of
https://gitee.com/JavaLionLi/plus-ui.git
synced 2026-11-02 13:31:50 +08:00
fix: 修复 UserSelect Effect 依赖导致的无限更新
### 问题 进入“工作流 → 流程监控 → 流程实例”时报错: Maximum update depth exceeded。 UserSelect 将 useEffectEvent 返回的 initModal、resetModal 加入了 useEffect 依赖数组。这些函数引用会随渲染变化,Effect 内的状态更新 又触发重新渲染,导致反复重置或初始化。 ### 修改 - Effect 仅依赖 open,在弹窗开关变化时初始化或重置。 - 修正 useEffectEvent 返回引用稳定的错误注释。 ### 验证 - 流程实例页面正常显示。 - 申请人弹窗打开、勾选、取消正常。 - “运行中 / 已完成”切换正常。 - Oxlint、TypeScript 检查通过。 Signed-off-by: 李中原 <5021361+lizhongyuan3@user.noreply.gitee.com>
This commit is contained in:
parent
693fd61e5d
commit
5151775e4f
@ -127,9 +127,9 @@ export default function UserSelect({
|
||||
// useEffectEvent 在 effect 中调用是 React 官方推荐用法
|
||||
// oxlint-disable-next-line react/set-state-in-effect
|
||||
initModal();
|
||||
// initModal/resetModal 为 useEffectEvent 引用稳定 无需作为依赖
|
||||
// Effect Event 每次渲染的引用可能变化,不应作为依赖;弹窗初始化和重置只跟随 open
|
||||
// oxlint-disable-next-line react/exhaustive-effect-dependencies
|
||||
}, [initModal, open, resetModal]);
|
||||
}, [open]);
|
||||
|
||||
const handleQuery = async () => {
|
||||
const values = form.getFieldsValue();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user