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 的学习道路上取得更大的进步!

相关推荐
Liu.7745 分钟前
vue3组件之间传输数据
前端·javascript·vue.js
|晴 天|6 分钟前
前端闭包:从概念到实战,解锁JavaScript高级技能
开发语言·前端·javascript
开发者小天7 分钟前
react的拖拽组件库dnd-kit
前端·react.js·前端框架
黑客思维者23 分钟前
机器学习007:监督学习【回归算法】(线性回归)--股票背后的预测学
学习·机器学习·回归·线性回归·监督学习
EniacCheng26 分钟前
【RUST】学习笔记-整型
笔记·学习·rust
全栈前端老曹34 分钟前
【ReactNative】核心组件与 JSX 语法
前端·javascript·react native·react.js·跨平台·jsx·移动端开发
小小黑00741 分钟前
快手小程序-实现插屏广告的功能
前端·javascript·小程序
@万里挑一1 小时前
vue中使用虚拟列表,封装虚拟列表
前端·javascript·vue.js
黑臂麒麟1 小时前
Electron for OpenHarmony 跨平台实战开发:Electron 文件系统操作实战
前端·javascript·electron·openharmony
找方案1 小时前
hello-agents 学习笔记:智能体发展史 —— 从符号逻辑到 AI 协作的进化之旅
人工智能·笔记·学习·智能体·hello-agents