An interval with cleanup in React
React interview exercise on Effects & refs, difficulty 2 of 3. Solve it in the editor beside a worked example; the tests run the moment you do.
Write Stopwatch: <output> showing elapsed ticks, <button className="start">, <button className="stop"> and <button className="reset">. While running, an interval of 10 ms adds one tick; stop pauses, reset returns to 0 (and keeps running or stopped as it was). The interval must be cleared on stop and on unmount.
Each exercise pairs a worked example with a twin problem to solve in a real editor; the tests run the moment you do. Progress is saved in your browser, and in your account if you sign in.