A common mistake make performance issue in React
We have code block like:
function ParentComponent(props) {
return (
<ChildComponent style={{ color: 'red' }} />
)
}
What performance with the above code?
Normally React only rerender a component of props or state change. For this case, ChildComponent doesn't receive any props. But it always re-renders every time ParentComponent renders.
Why?
When ParentCoponent renders, it always creates a new style object. New style object means props of ChildComponent change so ChildComponent will rerender again.
Solution: Use className if possible. If the style is dynamic can create a function with useCallback to get the new style