So, stateless function components should “always” be pure components, why isn’t this the default behavior ? It would have been great if this was implemented from the start , so people know very well the consequences and always relate “function” to “pure”. However, maybe this can get done in a new React version? If you do a major version upgrade you have to know that maybe some things will break. So this would be ok. Of course, I would also ask to remove React.memo in React 17