React官方文档学习记录

官方文档:React

代办:组件通信的方式;

1 标签语法JSX

你必须闭合标签,如 <br />。你的组件也不能返回多个 JSX 标签。你必须将它们包裹到一个共享的父级中,比如 <div>...</div> 或使用空的<>...</>包裹。

2 Typescript

react类型定义:@types/react,可以看一下源码

typescript文档:typescript

DefinitelyTyped 的 React 目录中整理了一些常见的类型定义。

React TypeScript Cheatsheet: 是一个社区维护的,用于在 React 中使用 TypeScript 的速查表,涵盖了许多有用的边界情况,并提供了比本文更广泛全面的内容。

dom事件:类型完整列表、、dom事件列表

javascript 复制代码
  function handleChange(event: React.ChangeEvent<HTMLInputElement>) {
    setValue(event.currentTarget.value);
  }

样式属性 :

javascript 复制代码
interface MyComponentProps {
  style: React.CSSProperties;
}

3 Hook

use开头的函数被称为 Hook。

Hook 比普通函数更为严格。你只能在你的组件(或其他 Hook)的 顶层 调用 Hook。如果你想在一个条件或循环中使用 useState,请提取一个新的组件并在组件内部使用它。

3.1 useCallback

useCallback 会在第二个参数中传入的依赖项保持不变的情况下,为函数提供相同的引用。

当在 TypeScript 严格模式下,使用 useCallback 需要为回调函数中的参数添加类型注解。这是因为回调函数的类型是根据函数的返回值进行推断的------如果没有参数,那么类型就不能完全理解。

根据自身的代码风格偏好,你可以使用 React 类型中的 *EventHandler 函数以在定义回调函数的同时为事件处理程序提供类型注解:

javascript 复制代码
import { useState, useCallback } from 'react';

export default function Form() {
  const [value, setValue] = useState("Change me");

  const handleChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>((event) => {
    setValue(event.currentTarget.value);
  }, [setValue])
  
  return (
    <>
      <input value={value} onChange={handleChange} />
      <p>值: {value}</p>
    </>
  );
}
相关推荐
chenbin___7 分钟前
react native中 createAsyncThunk 的详细说明,及用法示例(转自通义千问)
javascript·react native·react.js
摆烂工程师8 分钟前
(2025年11月)开发了 ChatGPT 导出聊天记录的插件,ChatGPT Free、Plus、Business、Team 等用户都可用
前端·后端·程序员
gongzemin18 分钟前
使用阿里云ECS部署前端应用
前端·vue.js·后端
用户411800341534119 分钟前
Flutter课题汇报
前端
环信22 分钟前
实战教程|快速上线音视频通话:手把手教你实现呼叫与接听全流程
前端
Dgua23 分钟前
✨TypeScript快速入门第一篇:从基础到 any、unknown、never 的实战解析
前端
海云前端123 分钟前
Vue3 大屏项目投屏功能开发:多显示器适配实践
前端
技术小丁39 分钟前
使用 HTML + JavaScript 实现酒店订房日期选择器(附完整源码)
前端·javascript
hashiqimiya40 分钟前
harmonyos的鸿蒙的跳转页面的部署
开发语言·前端·javascript
向日葵同志443301 小时前
使用@univerjs纯前端渲染excel, 显示图片、链接、样式
前端·react.js·excel