hooks icon indicating copy to clipboard operation
hooks copied to clipboard

feat: createUseStorageState support hook state sync between some tabs

Open ruoruoji opened this issue 2 years ago • 3 comments

[中文版模板 / Chinese template]

🤔 This is a ...

  • [x] New feature
  • [ ] Bug fix
  • [ ] Site / documentation update
  • [ ] Demo update
  • [ ] TypeScript definition update
  • [ ] Bundle size optimization
  • [ ] Performance optimization
  • [ ] Enhancement feature
  • [ ] Internationalization
  • [ ] Refactoring
  • [ ] Code style optimization
  • [ ] Test Case
  • [ ] Branch merge
  • [ ] Other (about what?)

🔗 Related issue link

💡 Background and solution

  1. I found the hook state from one tab not update,while i using the same hook instance from another tab.
  2. use storage addEventListener to receive update from another tab

📝 Changelog

Language Changelog
🇺🇸 English
🇨🇳 Chinese

☑️ Self Check before Merge

⚠️ Please check all items below before review. ⚠️

  • [ ] Doc is updated/provided or not needed
  • [ ] Demo is updated/provided or not needed
  • [ ] TypeScript definition is updated/provided or not needed
  • [ ] Changelog is provided or not needed

ruoruoji avatar May 03 '22 10:05 ruoruoji

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


孙权 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar May 03 '22 10:05 CLAassistant

Current changes do not solve all problems, like this: https://stackoverflow.com/questions/35865481/storage-event-not-firing

brickspert avatar May 05 '22 12:05 brickspert

Current changes do not solve all problems, like this: https://stackoverflow.com/questions/35865481/storage-event-not-firing

dispatch store event after setState to handle the same tab problem, it will fire the linster although it made from the same hook instance. i think it's not a problem.

but i know little about jest, so test case will be a problem. image

ruoruoji avatar May 05 '22 15:05 ruoruoji

this will be solved in https://github.com/alibaba/hooks/pull/2298, so closed

liuyib avatar Aug 20 '23 10:08 liuyib