从零开始学React--环境搭建

React官网

快速入门 -- React 中文文档

1.搭建环境

下载nodejs,双击安装

nodejs下载地址

更新npm

bash 复制代码
npm install -g npm

设置npm源,加快下载速度

复制代码
npm config set registry https://registry.npmmirror.com

创建一个react应用

javascript 复制代码
npx create-react-app react-basic

启动

javascript 复制代码
npm run start

2.清理代码

由于我们需要一个纯洁的测试环境,所以需要清理掉不需要的代码,src文件夹下只需要保留App.js和index.js

App.js代码更改如下:

javascript 复制代码
function App() {
  return (
    <div className="App">
      this is App
    </div>
  );
}

export default App;

index.js代码更改如下:

javascript 复制代码
// 导入react两个核心包
import React from 'react';
import ReactDOM from 'react-dom/client';
// 导入项目根组件
import App from './App';

// 将根组件渲染到root节点上,root节点就是public/index.html里面id为root的div
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);

这样就能得到一个纯洁的项目可以直接在App.js里面做练习了

3.路由

上面的方式有个缺点就是只能在一个文件上面测试,如果想在多个文件测试需要用到路由

安装路由

javascript 复制代码
npm i react-router-dom

新建几个文件,page下面的文件表示页面组件,router表示路由数据

Home组件可以写链接,这样有几个测试页面就有几个链接,要加个测试页面加个链接就能跳转过去了

javascript 复制代码
function Home() {
    return (
        <div>
            <a href="Article">文章</a>
        </div>
    );
}

export default Home;

Article是测试页面

javascript 复制代码
function Article() {
    return (
        <div>
            this is Article
        </div>
    );
}

export default Article;

router是路由数据

javascript 复制代码
import {createBrowserRouter} from "react-router-dom";
import Home from "../page/Home";
import Article from "../page/Article";

const router = createBrowserRouter([
    {
        path: '/',
        element: <Home/>
    },
    {
        path: 'article',
        element: <Article/>
    }
])

export default router

index.js改成如下代码

javascript 复制代码
// 导入react两个核心包
import React from 'react';
import ReactDOM from 'react-dom/client';
// 导入路由
import {RouterProvider} from "react-router-dom";
import router from "./router";

// 将根组件渲染到root节点上,root节点就是public/index.html里面id为root的div
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
    <React.StrictMode>
        <RouterProvider router={router}></RouterProvider>
    </React.StrictMode>
);
相关推荐
IT_陈寒7 分钟前
Python性能翻倍的5个冷门技巧:从GIL逃逸到内存视图的实战优化指南
前端·人工智能·后端
南城巷陌12 分钟前
错误边界:用componentDidCatch筑起React崩溃防火墙
前端·react.js·前端框架
FinClip17 分钟前
OpenAI推出Apps SDK,你的企业App跟上了吗?
前端·app·openai
馨谙22 分钟前
Linux中的管道与重定向:深入理解两者的本质区别
前端·chrome
夏天想30 分钟前
复制了一个vue的项目然后再这个基础上修改。可是通过npm run dev运行之前的老项目,发现运行的竟然是拷贝后的项目。为什么会这样?
前端·vue.js·npm
@大迁世界37 分钟前
这个 CSS 特性,可能终结样式冲突
前端·css
zzzsde1 小时前
【C++】深入理解string类(5)
java·前端·算法
袁煦丞1 小时前
随机菜谱解救选择困难!YunYouJun/cook 成为你的厨房锦囊:cpolar内网穿透实验室第549个成功挑战
前端·程序员·远程工作
携欢1 小时前
PortSwigger靶场之CSRF where token is tied to non-session cookie通关秘籍
运维·服务器·前端
yiludegeX1 小时前
fluth-vue: 体验流式编程范式之美
vue.js·前端框架·rxjs