index.jsx 996B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import React, { useEffect } from 'react';
  2. import { Layout, Spin } from 'antd';
  3. import { useModel } from '@/store'
  4. import RequireLogin from './components/RequireLogin';
  5. import SiderBar from './components/SiderBar';
  6. import Header from './components/Header';
  7. import Container from './components/Container';
  8. import Footer from './components/Footer';
  9. import useReady from './useReady';
  10. import './style.less';
  11. const { Content } = Layout;
  12. export default (props) => {
  13. const { user, getCurrent } = useModel('user');
  14. // const isReady = useReady(user)
  15. // const isReady = true
  16. useEffect(() => {
  17. if (!user) {
  18. getCurrent()
  19. }
  20. }, []);
  21. return (
  22. <Spin spinning={!user} size="large">
  23. <RequireLogin>
  24. <div className='main-layout'>
  25. <Header />
  26. <Layout>
  27. <SiderBar />
  28. <Layout>
  29. <Container />
  30. <Footer />
  31. </Layout>
  32. </Layout>
  33. </div>
  34. </RequireLogin>
  35. </Spin>
  36. );
  37. }