A component that only renders props needs no class, no constructor and no lifecycle. Written as a function it is shorter and, more usefully, it cannot accidentally acquire state later without someone noticing the change.
const Price = ({ cents, currency }) => (
<span className="price">{format(cents, currency)}</span>
);
// vs the class, which invites this.setState to appear
class Price extends React.Component { render() { /* ... */ } }
The performance argument made for these is largely aspirational this year — React still allocates and still reconciles, and the promised optimisations have not landed. The real benefit is the constraint: a function component is provably a function of its props, which makes it trivial to test and impossible to make stateful by accident. Reach for a class when you genuinely need lifecycle or state, not by default.