Mostly a matter of preference. However, there are some (minor, almost insignificant) differences:
The fat arrow syntax lets you omit the curly braces and the return
keyword if you return the JSX directly, without any prior expressions. With ES5 functions, you must have the { return ... }
.
The fat arrow syntax does not create a new context of this
, whereas ES5 functions do. This can be useful when you want this
inside the function to reference the React component or when you want to skip the this.foo = this.foo.bind(this);
step.
There are more differences between them, but they are rarely relative when coding in React (e.g using arguments
, new
, etc).
On a personal note, I use the fat arrow syntax whenever possible, as I prefer that syntax.