Browse Source

드론교통시스템 lazyload 적용

master
김장현 8 months ago
parent
commit
e62dc74186
  1. 9
      src/components/map/mapbox/MapBoxMap.js
  2. 31
      src/views/control/main/ControlMain.js

9
src/components/map/mapbox/MapBoxMap.js

@ -1,4 +1,11 @@
import { useEffect, useState, useRef, useLayoutEffect } from 'react'; import {
useEffect,
useState,
useRef,
useLayoutEffect,
lazy,
Suspense
} from 'react';
import { useSelector, useDispatch } from 'react-redux'; import { useSelector, useDispatch } from 'react-redux';
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
// mapbox // mapbox

31
src/views/control/main/ControlMain.js

@ -1,8 +1,6 @@
import { useEffect, useState } from 'react'; import { useEffect, useState, lazy, Suspense } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import '../../../assets/css/custom.css';
import logo from '../../../assets/images/logo/kac_logo_ icon.svg';
import { import {
Sun, Sun,
Map, Map,
@ -13,20 +11,21 @@ import {
CloudSnow, CloudSnow,
Grid Grid
} from 'react-feather'; } from 'react-feather';
import { AiOutlinePoweroff } from 'react-icons/ai'; import { AiOutlinePoweroff } from 'react-icons/ai';
import { IoAlertOutline } from 'react-icons/io5'; import { IoAlertOutline } from 'react-icons/io5';
import { ReactComponent as DroneMenuIcon } from '../../../assets/images/drone_menu_icon.svg';
import { Card } from 'reactstrap'; import { Card } from 'reactstrap';
import ControlReportList from '../report/ControlReportList';
import ControlReportDetail from '../report/ControlReportDetail';
import ControlAlarmList from '../alarm/ControlAlarmList';
import ControlSetting from '../setting/ControlSetting'; import ControlSetting from '../setting/ControlSetting';
import WebsocketClient from '../../../components/websocket/WebsocketClient'; import WebsocketClient from '../../../components/websocket/WebsocketClient';
import { useDispatch, useSelector } from 'react-redux';
import { controlweatherAction } from '../../../modules/control/gp/actions/controlGpAction'; import { controlweatherAction } from '../../../modules/control/gp/actions/controlGpAction';
import * as Actions from '../../../modules/account/login/actions/authAction'; import * as Actions from '../../../modules/account/login/actions/authAction';
import { objectUnClickAction } from '../../../modules/control/map/actions/controlMapActions'; import { objectUnClickAction } from '../../../modules/control/map/actions/controlMapActions';
import '../../../assets/css/custom.css';
import { ReactComponent as DroneMenuIcon } from '../../../assets/images/drone_menu_icon.svg';
import logo from '../../../assets/images/logo/kac_logo_ icon.svg';
const ControlReportList = lazy(() => import('../report/ControlReportList'));
const ControlReportDetail = lazy(() => import('../report/ControlReportDetail'));
const ControlAlarmList = lazy(() => import('../alarm/ControlAlarmList'));
const ControlMain = () => { const ControlMain = () => {
const dispatch = useDispatch(); const dispatch = useDispatch();
@ -293,18 +292,24 @@ const ControlMain = () => {
</div> </div>
{oepnReportList ? ( {oepnReportList ? (
<ControlReportList setOpenReportList={setOpenReportList} /> <Suspense fallback=''>
<ControlReportList setOpenReportList={setOpenReportList} />
</Suspense>
) : ( ) : (
<div /> <div />
)} )}
{isClickObject ? ( {isClickObject ? (
<ControlReportDetail handlerClose={handlerClose} /> <Suspense fallback=''>
<ControlReportDetail handlerClose={handlerClose} />
</Suspense>
) : ( ) : (
<div /> <div />
)} )}
{openAlarmList ? ( {openAlarmList ? (
<ControlAlarmList setOpenAlarmList={setOpenAlarmList} /> <Suspense fallback=''>
<ControlAlarmList setOpenAlarmList={setOpenAlarmList} />
</Suspense>
) : ( ) : (
<div /> <div />
)} )}

Loading…
Cancel
Save