alibaba / formily

📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3
https://formilyjs.org/
MIT License
11.36k stars 1.48k forks source link

[Bug Report] useFormEffect 中使用 onFieldChange 在 React18 开发环境的严格默认下,会执行两次 #3894

Open hchlq opened 1 year ago

hchlq commented 1 year ago

Reproduction link

Edit on CodeSandbox

Steps to reproduce

点开链接,打开控制台,更改值,发现执行两次

What is expected?

只执行一次

What is actually happening?

执行了两次

Package

@formily/react@2.2.26


原因就是 onFieldChange 被执行了两次,虽然在 useFormEffect 销毁时移除了 effect,但是没有将 onFieldChange reaction 的依赖的清除掉

hchlq commented 1 year ago

这个我来处理。

coolbob1998 commented 9 months ago

暂时可以使用 onFieldValueChagne 绕过这个问题