fix(FormList): fix multiple FormList stuck #2788
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤔 这个 PR 的性质是?
🔗 相关 Issue
💡 需求背景和解决方案
before
![image](https://private-user-images.githubusercontent.com/65376724/309986350-d588d8ee-45ed-4634-884a-b1dd0aa32e1a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODE3MDIsIm5iZiI6MTczOTM4MTQwMiwicGF0aCI6Ii82NTM3NjcyNC8zMDk5ODYzNTAtZDU4OGQ4ZWUtNDVlZC00NjM0LTg4NGEtYjFkZDBhYTMyZTFhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE3MzAwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwZmRmOTdmYWRiNzM4ODEzYmUxZjUxNmU4Y2QwOGFmODNkYjQwOTJjZDI4OTE2Mjg3ZDdjYTJhNTg3MTk3YTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rqwiMm4oxqbJp4FiVBlEpXuUL3J73BeRCdAB1ny-AW0)
多个
FormList
fieldsTaskQueueRef.current
在后续pop()删掉第一个数组,fields
改变会一直进入useEffect
,循环里会调用callback
,fieldsTaskQueueRef.current
会持续添加,然后导致内存爆掉,页面卡死after
![image](https://private-user-images.githubusercontent.com/65376724/309986461-fe1e2955-a96e-4446-9863-b9b6106843ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODE3MDIsIm5iZiI6MTczOTM4MTQwMiwicGF0aCI6Ii82NTM3NjcyNC8zMDk5ODY0NjEtZmUxZTI5NTUtYTk2ZS00NDQ2LTk4NjMtYjliNjEwNjg0M2ZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE3MzAwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg4NTkyYzM5YzcxYmU2NmNkODhmMzU4NTc1MDc5YWU4OTEzMzUzYWJlMGIzNjEzNTRhOTAxNGQ1NTZhYTZjMWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.kJ_5Il03zSYPbIgJGK85vKTpHAQTZXBqqMeBeW_PyLQ)
然后
fieldsTaskQueueRef.current
在前面pop()可修复多个FormLIst
卡死的问题修复多个
FormList
卡死的问题📝 更新日志
fix(FormList): 修复多个
FormList
卡死的问题本条 PR 不需要纳入 Changelog
☑️ 请求合并前的自查清单