React 学习全阶段总结

React 学习全阶段总结

基础入门

在刚开始学习 React 时,我们主要掌握了如何创建 React 项目、组件的基本概念以及状态管理。

  • 创建项目 :使用 create-react-app 工具可以快速搭建一个新的 React 项目。
bash 复制代码
npx create-react-app my-react-app
cd my-react-app
npm start
  • 组件定义:组件是 React 应用的基本构建块,分为函数组件和类组件。
jsx 复制代码
// 函数组件示例
import React from 'react';

const HelloComponent = () => {
    return <p>Hello, React!</p>;
};

export default HelloComponent;
  • 状态管理 :使用 useState Hook 来管理组件的状态。
jsx 复制代码
import React, { useState } from 'react';

const Counter = () => {
    const [count, setCount] = useState(0);

    return (
        <div>
            <p>Count: {count}</p>
            <button onClick={() => setCount(count + 1)}>Increment</button>
        </div>
    );
};

export default Counter;
中级进阶

中级阶段我们深入学习了 React 的一些高级特性,如 Hooks 的高级用法、状态管理库的使用、路由和表单处理等。

  • 高级 Hooks :除了 useState,还学习了 useEffectuseContextuseReducer 等 Hooks。
jsx 复制代码
import React, { useState, useEffect } from 'react';

const DataFetching = () => {
    const [data, setData] = useState(null);

    useEffect(() => {
        const fetchData = async () => {
            const response = await fetch('https://api.example.com/data');
            const json = await response.json();
            setData(json);
        };

        fetchData();
    }, []);

    return (
        <div>
            {data? <p>{data.message}</p> : <p>Loading...</p>}
        </div>
    );
};

export default DataFetching;
  • 状态管理库 :使用 ReduxMobX 来管理复杂的应用状态。
jsx 复制代码
// Redux 示例
import { createSlice, configureStore } from '@reduxjs/toolkit';

const counterSlice = createSlice({
    name: 'counter',
    initialState: {
        value: 0
    },
    reducers: {
        increment: (state) => {
            state.value += 1;
        },
        decrement: (state) => {
            state.value -= 1;
        }
    }
});

export const { increment, decrement } = counterSlice.actions;

const store = configureStore({
    reducer: counterSlice.reducer
});

export default store;
  • 路由 :使用 React Router 来实现单页面应用的路由功能。
jsx 复制代码
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';

const App = () => {
    return (
        <Router>
            <Routes>
                <Route path="/" element={<Home />} />
                <Route path="/about" element={<About />} />
            </Routes>
        </Router>
    );
};

export default App;
高级拓展

高级阶段我们探索了 React 与其他技术的结合,如 WebGL、VR/AR、服务器端渲染(SSR)等。

  • React 与 WebGL :使用 three.js 库在 React 项目中创建 3D 场景。
jsx 复制代码
import React, { useEffect, useRef } from 'react';
import * as THREE from 'three';

const ThreeScene = () => {
    const containerRef = useRef(null);

    useEffect(() => {
        const scene = new THREE.Scene();
        const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
        const renderer = new THREE.WebGLRenderer();
        renderer.setSize(window.innerWidth, window.innerHeight);
        containerRef.current.appendChild(renderer.domElement);

        const geometry = new THREE.BoxGeometry();
        const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
        const cube = new THREE.Mesh(geometry, material);
        scene.add(cube);

        camera.position.z = 5;

        const animate = () => {
            requestAnimationFrame(animate);
            cube.rotation.x += 0.01;
            cube.rotation.y += 0.01;
            renderer.render(scene, camera);
        };

        animate();

        return () => {
            containerRef.current.removeChild(renderer.domElement);
        };
    }, []);

    return (
        <div ref={containerRef} />
    );
};

export default ThreeScene;
  • 服务器端渲染(SSR) :使用 Next.js 框架实现 SSR。
jsx 复制代码
// pages/index.js
import React from 'react';

const HomePage = () => {
    return (
        <div>
            <h1>Welcome to my SSR React app!</h1>
        </div>
    );
};

export default HomePage;

全文总结

通过以上各个阶段的学习,我们从 React 的基础入门开始,逐步掌握了组件、状态管理、高级 Hooks 等核心概念。在中级阶段,我们学会了使用状态管理库和路由来构建更复杂的应用。到了高级阶段,我们探索了 React 与 WebGL、VR/AR、SSR 等技术的结合,拓宽了 React 的应用场景。

React 是一个功能强大且灵活的 JavaScript 库,通过不断学习和实践,我们可以利用 React 构建出各种类型的高性能、交互性强的前端应用。希望这些知识和代码示例能帮助你在 React 的学习道路上取得更大的进步!

相关推荐
wdfk_prog几秒前
[Linux]学习笔记系列 -- 内存管理与访问
linux·笔记·学习
laocooon5238578861 分钟前
学习计算机知识的量变质变关系模态分析
学习
我命由我123458 分钟前
Photoshop - Photoshop 工具栏(58)锐化工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
前端小菜袅17 分钟前
AI时代,新的技术学习方式
学习·ai编程
victory043124 分钟前
大模型学习阶段总结和下一阶段展望
深度学习·学习·大模型
程序猿零零漆28 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十三)SpringMVC快速入门、请求处理
java·学习·spring
曾浩轩37 分钟前
跟着江协科技学STM32之4-5OLED模块教程OLED显示原理
科技·stm32·单片机·嵌入式硬件·学习
go_caipu39 分钟前
Vben Admin管理系统集成qiankun微服务(二)
前端·javascript
幻云201042 分钟前
Next.js指南:从入门到精通
开发语言·javascript·人工智能·python·架构
唐叔在学习42 分钟前
insertAdjacentHTML踩坑实录:AI没搞定的问题,我给搞定啦
前端·javascript·html