Поскольку вы загружаете функцию в глобальное пространство с помощью тега скрипта, скорее всего, это состояние гонки.То есть ваш компонент React может рендериться до загрузки скрипта с вашей функцией.JavaScript может поднимать определение переменной, то есть он назначает переменную, но не вводит значение до тех пор, пока она не будет готова.
То, что вы увидите в своей консоли, подтвердит это, потому что к тому времени, когда вы начнете печатать, весь код будетвыполнено (возможно), и поэтому функция начнет работать.
Чтобы легко проверить это, можно добавить тайм-аут в конструкторе этого компонента.Установите это значение на 5 секунд, затем выполните функцию.Скорее всего, вы увидите, что он срабатывает правильно.
Что касается решения, это сложно, поскольку вы стираете грани между React и внешним миром.Одна вещь, которую вы могли бы сделать, это иметь скрипт, который импортирует вашу функцию, генерирующую событие в окне.Затем попросите компонент React прослушать это событие и вызвать повторную визуализацию (не уверен, что вы хотите вызывать внешние функции, подобные этой, из вашей функции визуализации, но я уверен, что у вас есть свои причины).