4 ms·
Out of curiosity, why did you write the function like this: const MyRootComponent = (props) => { When it's shorter and more obvious what's happening if you
by dan15 10y ago
Out of curiosity, why did you write the function like this:
const MyRootComponent = (props) => {
When it's shorter and more obvious what's happening if you write them like this:
function MyRootComponent(props) {
- alaskamiller 10y ago"An arrow function expression has a shorter syntax compared to function expressions and lexically binds the this value (does not bind its own this, arguments, super, or new.target). Arrow functions are always anonymous." https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
- throwanem 10y agoNone of which, in this context, matters; none of those is in scope where the function is defined, so it won't be closing over them anyway.
- RobertKerans 10y agoWhy do you want it to be anonymous in this context? I get you can drop the `return`, but I don't see how you gain anything (apart from a tiny reduction typing and a small increase in incomprehensibility) by using anonymous functions to define components (I know the pattern is used a lot in the wild, but there seems to be zero reasoning for it; lexical binding isn't really relevant here)
- ggregoire 10y agoBad practice according to Airbnb: https://github.com/airbnb/javascript/tree/master/react#class-vs-reactcreateclass-vs-stateless https://github.com/airbnb/javascript/tree/master/react#class...
- jkrems 10y agoIn this case: You're potentially closing over node's "this inside of module body === exports" which seems more confusing than helpful..?