Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

small fixes to stopwatch codesandbox #4110

Merged
merged 4 commits into from
Feb 7, 2022
Merged

Conversation

aayush-k
Copy link
Contributor

@aayush-k aayush-k commented Nov 16, 2021

noticed that the explanation for the first stopwatch codesandbox mentions "update the time every 10 milliseconds" so just updated the codesandbox to reflect that

also there's a small bug (#4096 ) in the stopwatch codesandboxes where each call to handleStart() sets a new interval without checking if there's already one ongoing.

ie: If the user accidentally double clicks the start button, they set two intervals for updating now every 10ms and then intervalRef only retains the second interval ID. Thus, it's impossible to actually stop the timer because handleStop() will only clear the latest set interval while the original one will keep executing.

noticed that the explanation for the first stopwatch codesandbox mentions "update the time every 10 milliseconds" so updated the codesandbox to reflect that

also there's a small nuanced bug in the second stopwatch codesandbox where each call to `handleStart()` sets a new interval without checking if there's already one ongoing. 

Ie: If the user accidentally double clicks the start button, they set two intervals for updating `now` every 10ms and then intervalRef only retains the second interval ID. Thus, it's impossible to actually stop the timer because `handleStop()` will only clear the latest set interval while the original one will keep executing.
@facebook-github-bot
Copy link
Collaborator

Hi @aayush-k!

Thank you for your pull request and welcome to our community.

Action Required

In 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.

Process

In 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 CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

@github-actions
Copy link

github-actions bot commented Nov 16, 2021

Size Changes

📦 Next.js Bundle Analysis

This analysis was generated by the next.js bundle analysis action 🤖

One Page Changed Size

The following page changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/learn/referencing-values-with-refs 223.64 KB (🟡 +2 B) 316.85 KB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 10% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@facebook-github-bot
Copy link
Collaborator

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

@@ -135,6 +135,10 @@ export default function Stopwatch() {
const intervalRef = useRef(null);

function handleStart() {
// Start counting, if not already.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like resetting would be more appropriate behavior.

@gaearon gaearon merged commit cfa3670 into reactjs:main Feb 7, 2022
BetterZxx pushed a commit to BetterZxx/react.dev that referenced this pull request Mar 21, 2023
 (reactjs#721)

* Sandpack error icon overlapping issue fix (reactjs#4302)

* sandpack error icon overlapping issue fix

* modified errorline css

* Improve font display (reactjs#4308)

* Generate Ids when there are none in local development (reactjs#4304)

* Generate Ids when there are no headings

* Tweak code

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

* [Beta] useState Troubleshooting (reactjs#4309)

* [Beta] useState Troubleshooting

* Tweaks

* tweak

* docs: phrasing a sentence (reactjs#4185)

* docs: phrasing a sentence (reactjs#4182)

* docs: phrasing a sentence

* Update extracting-state-logic-into-a-reducer.md

Co-authored-by: dan <dan.abramov@gmail.com>

* docs: fix a grammatical error (reactjs#4183)

Co-authored-by: dan <dan.abramov@gmail.com>

* Change "return statement" to "return keyword" (reactjs#4137)

* small fixes to stopwatch codesandbox (reactjs#4110)

* small fixes to stopwatch codesandbox

noticed that the explanation for the first stopwatch codesandbox mentions "update the time every 10 milliseconds" so updated the codesandbox to reflect that

also there's a small nuanced bug in the second stopwatch codesandbox where each call to `handleStart()` sets a new interval without checking if there's already one ongoing. 

Ie: If the user accidentally double clicks the start button, they set two intervals for updating `now` every 10ms and then intervalRef only retains the second interval ID. Thus, it's impossible to actually stop the timer because `handleStop()` will only clear the latest set interval while the original one will keep executing.

* Update referencing-values-with-refs.md

* Update referencing-values-with-refs.md

* Update referencing-values-with-refs.md

Co-authored-by: dan <dan.abramov@gmail.com>

* Resolve conflicts

Co-authored-by: Amaresh  S M <amaresh.suriya@freshworks.com>
Co-authored-by: Sha Mwe La <62544170+shamwela@users.noreply.github.com>
Co-authored-by: Strek <harish.sethuraman@freshworks.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Sofya Tuymedova <stuymedova@gmail.com>
Co-authored-by: Soichiro Miki <smiki-tky@umin.ac.jp>
Co-authored-by: Aayush Kumar <aayush.kumarmail@gmail.com>
Co-authored-by: KnowsCount <knowscount@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants