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

相关推荐
r0ad17 分钟前
读诗的时候我却使用了自己研发的Chrome元素截图插件
前端·javascript·chrome
知识分享小能手1 小时前
jQuery 入门学习教程,从入门到精通, jQuery在HTML5中的应用(16)
前端·javascript·学习·ui·jquery·html5·1024程序员节
吃个糖糖2 小时前
Pytorch 学习之Transforms
人工智能·pytorch·学习
七号练习生.c2 小时前
JavaScript基础入门
开发语言·javascript·ecmascript
常常不爱学习2 小时前
Vue3 + TypeScript学习
开发语言·css·学习·typescript·html
baozj2 小时前
🚀 手动改 500 个文件?不存在的!我用 AST 撸了个 Vue 国际化神器
前端·javascript·vue.js
CandyU22 小时前
UE5 C++ 进阶学习 小知识点 —— 01 - 本地化语言
学习·ue5
molly cheung3 小时前
FetchAPI 请求流式数据 基本用法
javascript·fetch·请求取消·流式·流式数据·流式请求取消
疯狂踩坑人3 小时前
结合400行mini-react代码,图文解说React原理
前端·react.js·面试
武陵悭臾3 小时前
Python应用开发学习: Pygame 中实现数字水平靠右对齐和垂直靠底对齐
python·学习·程序人生·游戏·个人开发·学习方法·pygame