How does this example from React documentation work?

Hello guys, I'm reading the new React documentation but I don't understand a little thing. In the step 5 in this page https://react.dev/learn/reacting-to-input-with-state the handleSubmit function updates the status state 2 times (one at the top level and one inside try/catch). How is that possible? Shouldn't state be updated with just the last value? I tried to add a new counter state and increment it by 1 every time that setStatus is called, and it actually gets incremented only by one per submit, as I expected... so why is setStatus different?
Reacting to Input with State – React
The library for web and native user interfaces
3 Replies
dys 🐙
dys 🐙2y ago
We're talking about https://react.dev/learn/reacting-to-input-with-state#step-5-connect-the-event-handlers-to-set-state ? There's an await between the first update of status = 'submitting' and the second of status = 'success'. That await will release control of execution and allow other processes to run, including, potentially, a rerender of the component with status = 'submitting'.
Essay
EssayOP2y ago
so there's a chance that the submitting status is never committed to React?
dys 🐙
dys 🐙2y ago
It will be written to the state. If the await is short enough, it may never be rendered in the browser.
Want results from more Discord servers?
Add your server