Длительная загрузка белого экрана реагирует на компоненты - PullRequest
1 голос
/ 12 апреля 2019

В настоящее время я проверяю код, который используетactJS как библиотеку с ReactDom. При этом используется шаблон HTML и для визуализации компонентов файл js, например:

//...
ReactDOM.render(<Component1 />, container1)
ReactDOM.render(<Component2 />, container2)
//...
ReactDOM.render(<ComponentN />, containerN)

Весь контент отображается одновременно, и поскольку каждый компонент требует вызовов API, существует белый экран не менее 2 или 3 секунд.

Я предполагаю несколько причин:

  • Критический путь приостанавливается до тех пор, пока не будет выполнен весь JS, и дождитесь обновления содержимого DOM. Поэтому, возможно, мне нужно только разделить js и загрузить в асинхронном режиме (но я не хочу запрашивать много js-файлов). В настоящее время кто-то пытался поместить все вызовы ReactDom.Render в массив, как задачи, и использует асинхронную библиотеку для одновременного выполнения каждого вызова, но это не сработало (задержка не удаляется)
  • Компоненты используют другие внутренние компоненты, которые требуют завершения собственного процесса загрузки. В этом случае, мне кажется, мне нужна ленивая загрузка, но, поскольку я использую реагировать как библиотека, я не уверен, как это сделать. Каждый компонент использует redux.connect для соединения с другим компонентом без сохранения состояния, и это последнее использование иногда других компонентов, которые вызывают действия приставки (запросы API), используя реквизиты.
...