--- title: Common pitfall occurred while developing the SCM V2 --- ## React Component is loaded unexpectedly ### Bug A react component is updated without any changes in the props or states. ### Fix Use the [why-did-you-update](https://github.com/maicki/why-did-you-update) library to analyze the causes of the updates. A common cause is the definition of [new functions in render()](https://github.com/maicki/why-did-you-update#changes-are-in-functions-only). ### Example ```javascript class Main extends React.Component { render() { const { authenticated, links } = this.props; const redirectUrlFactory = binder.getExtension("main.redirect", this.props); ... const ActivityRoute = ({ authenticated, links }: RouteProps) => { return ( } authenticated={authenticated && links.activity.href} /> ); }; } } binder.bind("main.route", ActivityRoute); ``` the definition of the Component like this: ```javascript component={() => } ``` triggers a re-render because: ```javascript () => !== () => ``` You can avoid it by binding this function in advance and then reusing it on all renders ```javascript class ActivityRoute extends React.Component { constructor(props: Props) { super(props); } renderActivity = () => { const { links } = this.props; return ; }; render() { const { authenticated, links } = this.props; return ( ); } } binder.bind("main.route", ActivityRoute); ```