Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript

Suan Choi
seal-mask
PLUS
.a{fill-rule:evenodd;}techdegree seal-36
Suan Choi
Front End Web Development Techdegree Graduate 16,587 Points

Is it necessary to use anonymous arrow functions in onClick method for incrementScore/decrementScore?

It seems like it's working fine without arrow function, just like

<div className="counter">
    <button className="counter-action decrement" onClick={decrementScore}> - </button>
    <span className="counter-score">{score}</span>
    <button className="counter-action increment" onClick={incrementScore}> + </button>
</div>

2 Answers

Steven Parker
Steven Parker
231,198 Points

The value assigned to the "onClick" property is a callback function.   :wink:

Steven Parker
Steven Parker
231,198 Points

Functionally, it makes no difference if the callback function is a named function or an anonymous one. It's your choice.

Suan Choi
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Suan Choi
Front End Web Development Techdegree Graduate 16,587 Points

So in the video, she called the increment/decrement function inside anonymous arrow function and passed it to the onClick handler, rather than passing the increment/decrement functions by itself, as I wrote above. From my understanding she’s passing a function to call another function. Is that necessary?

Steven Parker
Steven Parker
231,198 Points

It's probably not necessary unless there's a reason to create a specific scope for the actual handler. I'm not familiar with this particular lesson, so it might also be a convention established in previous examples.