VM file is loaded multiple times in Issue tab Panel

I am rendering the component based on the JIRA.Events.NEW_CONTENT_ADDED. Once component mounted, I am calling the rest API. But in Issue Web Module, the JIRA.Events.NEW_CONTENT_ADDED is called multiple times. So my rest call is called multiple times and affects the Performance.
I am using the following code

JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, (e, context, reason) => {
  if (reason == JIRA.CONTENT_ADDED_REASON.panelRefreshed) {
    if (context[0] != null && context[0].id === 'templates_on_issue_view') {
      const divToLoad = document.getElementById('issue_view_container');
      if (divToLoad) {
        ReactDOM.render(<IssueViewPanel />, divToLoad);
      }
    }
  }
});

Please help me to resolve the issue?

When I’ve run into this myself, it turned out I bound the javascript two an event twice. Is that possible?

In the past in a scenario where I didn’t have other options I’ve done something like this:

JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, (e, context, reason) => {
  if (reason == JIRA.CONTENT_ADDED_REASON.panelRefreshed && isMyObject(context)){
    const myElement = findMyElement(context);
    if (!myElement.classList.contains('resolved') {
        myElement.classList.add('resolved');
        // Do other stuff
    }
  }
});