Я изменил loadScript на крючок:

```
константа загружена = {}

export const useLoadScript = url =› {
const [loading, setLoading] = React.useState(true)

const callback = React.useCallback(() =› {
loaded[url] = true
setLoading(false)
}, [url, setLoading])

React.useEffect(() =› {
if (loaded[url]) return setLoading(false)
console.log('LOAD')
let script = document.createElement('script ') // создать тег скрипта
script.type = 'text/javascript'

// когда состояние скрипта готово и загружено или завершено, мы вызываем callback
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState === 'загружен' || script.readyState === 'complete') {
script.onreadystatechange = null
callback()
}
}
} else {< br /> script.onload = обратный вызов
}

script.src = url // загрузка по URL
document.getElementsByTagName(‘head’)[0].appendChild(script) // добавление к head
}, [])

обратная загрузка
}
```