从零开始学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>
);
相关推荐
梦6504 分钟前
VUE树形菜单组件如何实现展开/收起、全选/取消功能
前端·javascript·vue.js
我命由我1234510 分钟前
微信小程序 - 避免在 data 初始化中引用全局变量
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
可爱又迷人的反派角色“yang”19 分钟前
Mysql数据库(二)
运维·服务器·前端·数据库·mysql·nginx·云计算
低保和光头哪个先来25 分钟前
基于 Vue3 + Electron 的离线图片缓存方案
前端·javascript·electron
天天向上102428 分钟前
Vue 配置一次打包执行多个命令,并将分别输出到不同的文件夹
前端·javascript·vue.js
BD_Marathon34 分钟前
【JavaWeb】HTML——超链接标签
前端·html
彭于晏爱编程38 分钟前
🐻 Zustand 使用指南:从 0 到精通的最快路线
前端
장숙혜39 分钟前
Vue DevTools 速通-掌握开发调试器
前端·javascript·vue.js
谢尔登42 分钟前
为什么React 17开始无需在组件中引入React了?
前端·react.js·前端框架
ohyeah43 分钟前
JavaScript 面向对象的本质:从对象模板到组合继承的完整演进
前端·javascript