如何根据命令创建React项目,如何在React项目中使用Router路由

本文详细介绍了如何在Windows环境下创建React项目,包括使用create-react-app和npminitvite的方式,以及如何配置和使用BrowserRouter和useRoutes实现基本的路由管理。
摘要由CSDN通过智能技术生成

首先,React项目运行是需要环境的,常用node.js,可以先在电脑的命令提示符中测试 。
 node -v
如果没有出现版本说明,则需要去下载安装node.js,这部分内容可以自行搜索。
本文内容全部手打,有问题的地方,请各位指正。

一、创建React项目

常见的创建React项目有很多种方式,这里介绍两种,都是使用命令提示符,也就是cmd。

1、使用 creat-react-app

首先:全局安装create-react-app

npm install -g create-react-app

然后,创建React项目,–typescript是指创建tsx文件。

create-react-app your-project-name --typescript 

2、使用 npm init vite

npm init vite

回车之后,会让你进行选择,编辑 y 输入,之后会让你输入项目名称,项目所使用的语言,然后项目就会自动生成。

二、使用Router路由

本文采用 npm init vite 的方式创建react项目。
首先需要在package.json中添加 react-router-dom 的依赖,在项目目录的cmd中,使用 npm install react-router-dom 命令进行安装依赖。
代码结构如下:

						   --> system   
   main --> app --> router --> home
                           --> user

项目初次运行时使用 npm run dev 命令。

main.tsx

import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import { BrowserRouter } from 'react-router-dom' // 需要使用 BrowserRouter 进行包裹
import './index.css'

ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </React.StrictMode>,
)

app.tsx

import { useRoutes } from 'react-router-dom' 
import { router } from './routers'
import './App.css'

function App() {
  const outlet = useRoutes(router); // 使用 useRoutes
  return (
    <div>
      {outlet}
    </div>
  )
}

export default App

router.tsx (导出router路由对象数组的作用)

import Home from "../views/home";
import User from "../views/user";
import System from "../views/system";
import { Navigate } from 'react-router-dom';

export const router = [
    {
        path: '/',
        element: <Navigate to='/home' />   // 使用重定向
    },
    {
        path: '/home',
        element: <Home />
    },
    {
        path: '/user',
        element: <User />
    },
    {
        path: '/System',
        element: <System />
    }
];

home.tsx

import React from 'react';

const Home: React.FC = () => {
    return (<div>
        <div>这是Home组件</div>
        <div>里面是Home内容</div>
    </div>)
}
export default Home;

system.tsx

import React from 'react';

const System: React.FC = () => {
    return (<div>
        <div>这是System组件</div>
        <div>里面是System内容</div>
    </div>)
}
export default System;

user.tsx

import React from 'react';

const User: React.FC = () => {
    return (<div>
        <div>这是User组件</div>
        <div>里面是User内容</div>
    </div>)
}
export default User;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值