神族九帝's blog 神族九帝's blog
首页
  • 神卡套餐 (opens new window)
  • 神族九帝 (opens new window)
  • 网盘资源 (opens new window)
  • 今日热点 (opens new window)
  • 在线PS (opens new window)
  • IT工具 (opens new window)
  • FC游戏 (opens new window)
  • 在线壁纸 (opens new window)
  • 面试突击
  • 复习指导
  • HTML
  • CSS
  • JavaScript
  • 设计模式
  • 浏览器
  • 手写系列
  • Vue
  • Webpack
  • Http
  • 前端优化
  • 项目
  • 面试真题
  • 算法
  • 精选文章
  • 八股文
  • 前端工程化
  • 工作笔记
  • 前端基础建设与架构 30 讲
  • vue2源码学习
  • 剖析vuejs内部运行机制
  • TypeScript 入门实战笔记
  • vue3源码学习
  • 2周刷完100道前端优质面试真题
  • 思维导图
  • npm发包
  • 重学node
  • 前端性能优化方法与实战
  • webpack原理与实战
  • webGl
  • 前端优化
  • Web3
  • React
  • 更多
  • 未来要做的事
  • Stirling-PDF
  • ComfyUI
  • 宝塔面板+青龙面板
  • 安卓手机当服务器使用
  • 京东自动评价代码
  • 搭建x-ui免流服务器(已失效)
  • 海外联盟
  • 好玩的docker
  • 收藏夹
  • 更多
GitHub (opens new window)

神族九帝,永不言弃

首页
  • 神卡套餐 (opens new window)
  • 神族九帝 (opens new window)
  • 网盘资源 (opens new window)
  • 今日热点 (opens new window)
  • 在线PS (opens new window)
  • IT工具 (opens new window)
  • FC游戏 (opens new window)
  • 在线壁纸 (opens new window)
  • 面试突击
  • 复习指导
  • HTML
  • CSS
  • JavaScript
  • 设计模式
  • 浏览器
  • 手写系列
  • Vue
  • Webpack
  • Http
  • 前端优化
  • 项目
  • 面试真题
  • 算法
  • 精选文章
  • 八股文
  • 前端工程化
  • 工作笔记
  • 前端基础建设与架构 30 讲
  • vue2源码学习
  • 剖析vuejs内部运行机制
  • TypeScript 入门实战笔记
  • vue3源码学习
  • 2周刷完100道前端优质面试真题
  • 思维导图
  • npm发包
  • 重学node
  • 前端性能优化方法与实战
  • webpack原理与实战
  • webGl
  • 前端优化
  • Web3
  • React
  • 更多
  • 未来要做的事
  • Stirling-PDF
  • ComfyUI
  • 宝塔面板+青龙面板
  • 安卓手机当服务器使用
  • 京东自动评价代码
  • 搭建x-ui免流服务器(已失效)
  • 海外联盟
  • 好玩的docker
  • 收藏夹
  • 更多
GitHub (opens new window)
  • 工作笔记

  • 前端基础建设与架构 30 讲

  • vue2源码学习

  • 剖析vuejs内部运行机制

  • TypeScript 入门实战笔记

  • vue3源码学习

  • 2周刷完100道前端优质面试真题

  • 思维导图

  • npm发包

  • 重学node

  • 前端性能优化方法与实战

  • webpack原理与实战

  • webGl

  • 前端优化

  • Web3

  • React

    • react基础教程
    • create-react-app
      • RouterProvider
      • 重定向
      • 动态获取icon
  • 更多

  • 笔记
  • React
wu529778790
2020-11-11

create-react-app

20241111201508

https://create-react-app.bootcss.com/ (opens new window)

cd23b55c5c1e780098a9cd842c12e1d

https://www.bilibili.com/video/BV1rz42167A6 (opens new window)

20241112102832

https://component-party.lainbo.com/ (opens new window)

pnpm

pnpm dlx create-react-app demo --template typescript

router

pnpm i react-router-dom

# RouterProvider

import { RouterProvider } from "react-router-dom";
import router from "./router";

function App() {
  return (
    <div className="App">
      <RouterProvider router={router} />
    </div>
  );
}

export default App;

# 重定向

vue 的redirect 在react中是Navigate

import { createBrowserRouter, Navigate } from "react-router-dom";
import Main from "../pages/main.js";
import Home from "../pages/home/index.js";
import Mall from "../pages/mall/index.js";
import User from "../pages/user/index.js";
import Page1 from "../pages/other/page1.js";
import Page2 from "../pages/other/page2.js";

const routes = [
  {
    path: "/",
    Component: Main,
    children: [
      {
        path: "/",
        Component: () => <Navigate to="/home" />,
      },
      {
        path: "home",
        Component: Home,
      },
      {
        path: "mall",
        Component: Mall,
      },
      {
        path: "user",
        Component: User,
      },
      {
        path: "other",
        children: [
          {
            path: "page1",
            Component: Page1,
          },
          {
            path: "page2",
            Component: Page2,
          },
        ],
      },
    ],
  },
];

const router = createBrowserRouter(routes);
export default router;

# 动态获取icon

react

import * as Icon from "@ant-design/icons";

const iconToElement = (iconName) => {
  return React.createElement(Icon[iconName]);
};

vue

<template>
  <div>
    <!-- 使用图标组件 -->
    <component :is="iconElement"></component>
  </div>
</template>

<script>
import { defineComponent, h } from 'vue';
import * as Icon from '@ant-design/icons';

export default defineComponent({
  setup() {
    // 创建一个响应式引用,用于存储图标组件
    const iconElement = ref(null);

    // 根据传入的图标名称创建图标组件
    const createIconElement = (iconName) => {
      return h(Icon[iconName]);
    };

    // 示例:创建一个图标元素
    iconElement.value = createIconElement('IconName'); // 替换'IconName'为您想要的图标名称

    return {
      iconElement
    };
  }
});
</script>
编辑 (opens new window)
上次更新: 2025/03/17, 12:21:00
react基础教程
大数据渲染table

← react基础教程 大数据渲染table→

最近更新
01
Code Review
10-14
02
ComfyUI
10-11
03
vscode插件开发
08-24
更多文章>
Power by vuepress | Copyright © 2015-2025 神族九帝
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×