Currently on Codecademy and learning about React.
Came to this code:
Without parenthesis, you're not calling the function. The name of the function without the parenthesis is a reference to the function. Parentheses is not used in the function at that point because we are not calling the function at the point where the code is encountered, but instead want to pass a reference to the function. If you use makeDoggy()
, the function will get called at that point, we instead want it to be called only after onClick, so we pass a reference to makeDoggy
there.
Alternatively you can do onClick={()=>makeDoggy()}
e
gets bound automatically using something called property initializer in es6.
No need for too much stress the solution is just double quote elimination "", in ReactJs to call a function inside an element you just have to do the following
onClick={functionName}
React can process function in curly braces.