当前位置: 首页 > news >正文

React学习(一)

React 基础概念

  1. 组件:React 应用的基本构建块,可以是类组件或函数组件。
  2. JSX:JavaScript 的语法扩展,允许在 JavaScript 中写 HTML 结构。
  3. Props:组件的输入参数,用于父组件向子组件传递数据。
  4. State:组件的内部状态,用于管理组件的数据。
  5. 虚拟 DOM:React 使用虚拟 DOM 来提高性能,通过比较虚拟 DOM 的变化来最小化实际 DOM 的操作。
  6. 单向数据流:数据在 React 应用中自上而下流动,从父组件传递到子组件。

React 架构图

+-------------------+
|   Parent Component|
|   (State)         |
+-------------------+|v
+-------------------+
|   Child Component |
|   (Props)         |
+-------------------+|v
+-------------------+
|   Virtual DOM     |
+-------------------+|v
+-------------------+
|   Real DOM        |
+-------------------+

React 语法和函数

  1. JSX
    const element = <h1>Hello, world!</h1>;
    
  2. 组件定义
    • 函数组件:
      function Welcome(props) {return <h1>Hello, {props.name}</h1>;
      }
      
    • 类组件:
      class Welcome extends React.Component {render() {return <h1>Hello, {this.props.name}</h1>;}
      }
      
  3. Props
    <Welcome name="Alice" />
    
  4. State
    class Clock extends React.Component {constructor(props) {super(props);this.state = { date: new Date() };}render() {return <div>{this.state.date.toLocaleTimeString()}</div>;}
    }
    
  5. Hooks
    • useState:用于在函数组件中管理状态。
      function Counter() {const [count, setCount] = useState(0);return (<div><p>You clicked {count} times</p><button onClick={() => setCount(count + 1)}>Click me</button></div>);
      }
      
    • useEffect:用于在函数组件中执行副作用。
      useEffect(() => {document.title = `You clicked ${count} times`;
      }, [count]);
      

学习建议,有基础的还是看文档

  1. 理解基础概念:首先掌握 React 的基础概念,如组件、JSX、Props 和 State。
  2. 实践项目:通过实际项目来应用所学知识,如构建一个简单的待办事项应用或博客系统。
  3. 阅读官方文档:React 官方文档是学习 React 的最佳资源,详细介绍了所有核心概念和 API。
  4. 学习 Hooks:Hooks 是 React 16.8 引入的新特性,建议优先学习 useStateuseEffect
  5. 参与社区:加入 React 社区,参与讨论和贡献代码,可以帮助你更快地掌握 React。
  6. 持续学习:React 生态系统不断发展,保持学习的态度,关注新的特性和最佳实践。
http://www.xdnf.cn/news/478837.html

相关文章:

  • Vue百日学习计划Day9-15天详细计划-Gemini版
  • 执行apt-get update 报错ModuleNotFoundError: No module named ‘apt_pkg‘的解决方案汇总
  • 数据库行业竞争加剧,MySQL 9.3.0 企业版开始支持个人下载
  • 【Elasticsearch】flattened`类型在查询嵌套数组时可能返回不准确结果的情况
  • 学习状态不佳时的有效利用策略
  • OAT 初始化时出错?问题可能出在 PAM 配置上|OceanBase 故障排查实践
  • 计算机网络 : 网络基础
  • 零基础玩转Apache Superset可视化部署
  • OpenCV 图像透视变换详解
  • 【概率论】 随机变量序列的收敛性
  • 【Unity】 HTFramework框架(六十五)ScrollList滚动数据列表
  • 图像锐化调整
  • <PLC><视觉><机器人>基于海康威视视觉检测和UR机械臂,如何实现N点标定?
  • 使用seatunnel同步磐维数据库数据
  • 【全网首发】解决coze工作流批量上传excel数据文档数据重复的问题
  • 图像分割(0)初步认识
  • 高光谱遥感图像处理之数据分类的fcm算法
  • K8s CoreDNS 核心知识点总结
  • 捌拾伍- 量子傅里叶变换 (3)
  • 【目标检测】RT-DETR
  • 智脑进化:神经网络如何从单层感知机迈向深度学习新纪元
  • 动态规划(2):问题建模与状态设计
  • 求职困境:开发、AI、运维、自动化
  • 序列dp常见思路总结
  • RabbitMQ 消息模式实战:从简单队列到复杂路由(四)
  • 卡顿检测与 Choreographer 原理
  • Java大师成长计划之第24天:Spring生态与微服务架构之分布式配置与API网关
  • window 显示驱动开发-使用有保证的协定 DMA 缓冲区模型
  • 论信息系统项目的范围管理
  • 后端框架(3):Spring(2)