change the way that merge state within useOptimistic demo#7375
change the way that merge state within useOptimistic demo#7375felismargarita wants to merge 1 commit intoreactjs:mainfrom felismargarita:fix-useOptimistic-demo-code
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
Hi @felismargarita! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
Size changesDetails📦 Next.js Bundle Analysis for react-devThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
|
Hello @felismargarita the existing code effectively demonstrates the use of the UseOptimistic Hook with a simple example. Adding unnecessary complexity to handle duplicate messages detracts from the core purpose of the demo. Additionally, your PR does not function as intended. The use of time as a unique identifier for messages is flawed, as identical messages can still appear multiple times if their timestamps differ, as evidenced in the screenshot. |

This code change aims to help developers better understand the usage of useOptimistic that it's important to set a correct merge state logic to avoid incorrect mid-state rendering.
Here is a screenshot that the original code does not handle the merge logic properly that makes a same message displayed twice:
#7379