-
Notifications
You must be signed in to change notification settings - Fork 0
React
Serbipunk edited this page May 3, 2026
·
2 revisions
useState 是 React 最基础的 Hook,用来给组件添加响应式状态——状态变化时组件会自动重新渲染。
基本用法
const [value, setValue] = useState(initialValue); value — 当前状态值 setValue — 更新状态的函数(调用它才会触发重渲染) initialValue — 初始值,只在组件第一次渲染时用一次
export declare function useTexture<Url extends string[] | string | Record<string, string>>(input: Url, onLoad?: (texture: MappedTextureType<Url>) => void): MappedTextureType<Url>;
useTexture 本身利用了 React 的 Suspense 机制——加载期间它会让组件"挂起",加载完成后组件才渲染。所以从组件的角度看
| 名字 | 常见含义 |
|---|---|
| onLoad | 加载完成 |
| onClick | 点击 |
| onChange | 值改变 |
| onSubmit | 提交 |
你看的 Texture.d.ts 是 类型声明文件,它只描述"函数长什么样",不包含任何实现逻辑。这是 TypeScript 的设计——类型和实现分离。
真正的实现在我们之前读过的 Texture.js,两个文件的关系是:
文件 作用 Texture.d.ts 告诉 TypeScript 类型是什么,编辑器用来做补全和报错 Texture.js 真正运行的代码,包含 useLayoutEffect、useLoader 等逻辑 .d.ts 文件在运行时完全不存在,打包后只有 .js 会被执行。
可以用c lang类比,Texture.d.ts 是 Texture.js 的头文件
完全正确,这个类比非常准确。
C TypeScript .h 头文件 .d.ts 声明文件 .c / .cpp 实现文件 .js 实现文件 #include "texture.h" import 时 TS 自动读取 .d.ts 就像 C 里头文件只写函数签名、结构体定义,.c 文件才是真正的逻辑,.d.ts 也只描述形状,.js 才跑代码。
test page footer