Функция отложенной загрузки в React

#reactjs #react-lazy-load #webpack-module-federation

#reactjs #react-lazy-load #webpack-модуль-объединение

Вопрос:

Я хочу запустить функцию JS из модуля, который загружается асинхронно (который предоставляется при объединении модулей), и использовать возвращаемое значение в компоненте React.

Например, настройка видимости некоторого элемента по значению функции, которая возвращает логическое значение.

Все примеры, которые я нашел, объясняют, как лениво загружать компоненты React

Спасибо! Шломи

Комментарии:

1. Покажите, что уже сделано. отложенная загрузка только для компонентов react, а не для функций

Ответ №1:

Если вам нужно запустить функцию только один раз при первой загрузке компонента, вы можете просто сделать это, используя, например useEffect() , перехват, а затем установить некоторое состояние. Например

 function MyComponent(){
   const [someValue, setSomeValue] = useState()
   useEffect( () => {
     import('someRemote/module').then( module => {
        const valueFromFunction = module.myFunction()
        setSomeValue(valueFromFunction)
     })
   })
   return someValue != undefined ? <div>The value is {someValue}</div> : <></>
}