AntDesign(React)學習-5 路由及使用Layout布局


前言:學習目標實現點擊登錄按鈕,直接進入后台布局頁面,類似下面antd官網文檔展示效果

ant.design訪問

https://ant-design.gitee.io/components/menu-cn/

速度比較快

 

 

 1、最開始想的很簡單,增加一個頁面,修改一個路由即可,實際操作中掉了幾次坑,花了很長時間

 首先修改路由如下,注意:如果寫后面,比如

 的話會報

 要放前面如下

或者增加exact

 注意,嵌套路由父路由不能使用exact:true

 

 

 這種無法訪問

 2、修改BasicLayout內容如下

import { Layout, Menu, Icon } from 'antd';
import React from 'react';
import ReactDOM from 'react-dom';

const { Header, Sider, Content } = Layout;

class SiderDemo extends React.Component {
  state = {
    collapsed: false,
  };

  toggle = () => {
    this.setState({
      collapsed: !this.state.collapsed,
    });
  };

  render() {
    return (
      <Layout>
        <Sider trigger={null} collapsible collapsed={this.state.collapsed}>
          <div className="logo" />
          <Menu theme="dark" mode="inline" defaultSelectedKeys={['1']}>
            <Menu.Item key="1">
              <Icon type="user" />
              <span>nav 1</span>
            </Menu.Item>
            <Menu.Item key="2">
              <Icon type="video-camera" />
              <span>nav 2</span>
            </Menu.Item>
            <Menu.Item key="3">
              <Icon type="upload" />
              <span>nav 3</span>
            </Menu.Item>
          </Menu>
        </Sider>
        <Layout>
          <Header style={{ background: '#fff', padding: 0 }}>
            <Icon
              className="trigger"
              type={this.state.collapsed ? 'menu-unfold' : 'menu-fold'}
              onClick={this.toggle}
            />
          </Header>
          <Content
            style={{
              margin: '24px 16px',
              padding: 24,
              background: '#fff',
              minHeight: 800,
            }}
          >
            Content
          </Content>
        </Layout>
      </Layout>
    );
  }
}
export default SiderDemo;

注意,最后一行不能寫為

ReactDOM.render(<SiderDemo />, mountNode);

或者

export default <SiderDemo/>

上面編譯報錯,下面運行報錯:

react-native Element type is invalid: expected a string (for built-in components).....

 

 

3、為了方便測試運行效果,修改代碼如下

 

4、運行界面如下

4.1登錄頁面

 

 4.2跳轉后進入mainfrm頁面


 5、目前項目結構

6、下面是實現動態路由的一篇文章
https://blog.csdn.net/duola8789/article/details/90169410


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM