React
Миграция на SingleBundle

Миграция на Single Bundle

Технология Single Bundle позволяет использовать уже загруженный бандл при повторной загрузке проекта. Это позволяет сэкономить потребляемую память.

Для миграции на этот режим читайте инструкции далее.

Установите версию Q.Palette 7.1.1 или выше

Установите:

  • Библиотеки Q.Palette версии 7.1.1.
  • Образ Q.Palette: registry-new.diasoft.ru/release/qpalette:24100914.

Включите режим Single Bundle в вашем продукте

Добавьте true вторым аргументом QpaletteWebComponent при подключении библиотеки @diasoft/qpalette-react-wrapper в index.tsx:

import React from 'react';
import { BrowserRouter as Router, Route, Routes, useNavigate, useLocation } from 'react-router-dom';
import { QRootEventsServiceInstance, QpaletteWebComponent, RoutesWrapper } from '@diasoft/qpalette-react-wrapper';
import MyComponent from './app/pages/MyComponent';
 
function MainRouter() {
  return (
      <Router basename={QRootEventsServiceInstance.getBasename()}>
        <RoutesWrapper useNavigate={useNavigate} useLocation={useLocation}>
          <Routes>
            <Route path="/my-component" element={<MyComponent/>}/>
          </Routes>
        </RoutesWrapper>
      </Router>
  );
}
 
QpaletteWebComponent(<MainRouter />, true);

В режиме Single Bundle все синглтон-сервисы будут иметь общий экземпляр между разными вкладками одного и того же проекта.

Для работы на разных вкладках, реализован props - isActiveTab, который можно получить в корне проекта MainRouter(props), и прокинуть по роутингу ниже или через редьюсер. Далее можно завязаться в useEffect на него и реализовать свою логику.