In JavaScript, purity refers to the concept of a function or component not causing side effects and always returning the same output for the same input.
A pure function is one that does not mutate objects but only returns a new object. It takes an input and produces an output without changing the input or any other state. When called multiple times with the same input, a pure function will always produce the same output.
In React, this concept of purity is applied to components. A pure component in React is one whose output is solely dependent on its props.
For example, all functional components in React are pure components:
const Button = props => {
return <button>{props.message}</button>
}
Even class components can be pure if their output is solely based on the props:
class Button extends React.Component {
render() {
return <button>{this.props.message}</button>
}
}
By adhering to the purity concept, React components remain predictable and easier to reason about, improving performance and maintainability.
Tags: React, purity, pure function, pure component