Hooks
Hooks
Hooks 是一类能够存储状态和执行副作用的函数。
Yew 提供了一些预定义的 hooks。您也可以创建自己的 hooks,或者发现许多社区制作的 hooks。
Hooks 规则
- 每个 Hook 函数的名称必须以
use_开头 - Hooks 只能在以下位置使用:
- 函数/ Hook 的顶层
- 函数/ Hook 内的块,只要它没有被分支
- 函数/ Hook 内顶层
if表达式的条件 - 函数/ Hook 内顶层
match表达式的选择器
- 每次渲染时,Hooks 必须以相同的顺序调用。只有在使用 Suspense 时才允许提前返回
这些规则由编译时或运行时错误来执行。
预定义 Hooks
Yew 提供了以下预定义 Hooks:
use_stateuse_state_equse_memouse_callbackuse_refuse_mut_refuse_node_refuse_reduceruse_reducer_equse_effectuse_effect_withuse_contextuse_force_update
这些 hooks 的文档可以在 Yew API 文档中找到。
自定义 Hooks
有些情况下,您可能希望定义自己的 Hooks,以将组件中的可能具有状态的逻辑封装到可重用的函数中。
进一步阅读
- React 文档中有一个关于 React hooks 的部分。