从零开始学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>
);
相关推荐
极客密码2 小时前
感谢雷总!Mimo大模型价值¥659/月的 MAX 套餐,让我免费领到了!
前端·ai编程·claude
深念Y3 小时前
我明白为什么B站没法在浏览器开直播了——Windows Chrome推流踩坑全记录
前端·chrome·webrtc·浏览器·srs·直播·flv
zhangxingchao3 小时前
AI应用开发七:可以替代 RAG 的技术
前端·人工智能·后端
Sun@happy3 小时前
现代 Web 前端渗透——基础篇(1)
前端·web安全
希冀1234 小时前
【CSS学习第十一篇】
前端·css·学习
隔窗听雨眠4 小时前
doctype、charset、meta如何控制整个渲染流水线
java·服务器·前端
kyriewen4 小时前
写组件文档写到吐?我用AI自动生成Storybook,同事以后直接抄
前端·javascript·面试
excel4 小时前
🧠 Prisma 表名大写 vs SQL 导出小写问题深度解析(附踩坑与解决方案)
前端·后端
周淳APP4 小时前
【前端工程化原理通识:从源头到运行时的理论阐述】
前端·编译·打包·前端工程化
五点六六六5 小时前
你敢信这是非Native页面写出来的渐变效果吗🌝(底层原理解析
前端·javascript·面试