钩子
钩子
钩子是让你存储状态和执行副作用的函数。
Yew 带有几个预定义的钩子。你还可以创建自己的钩子,或发现许多 社区制作的钩子。
钩子规则
- 钩子函数名称必须始终以
use_
开头 - 钩子只能在以下位置使用
- 函数/钩子的顶级。
- 函数/钩子内部的块,因为它尚未分支。
- 函数/钩子内部的顶级
if
表达式的条件中。 - 函数/钩子内部的顶级
match
表达式的被检查值中。
- 对于每次渲染,必须按相同顺序调用钩子。仅在使用 Suspense 时才允许提前返回
这些规则由编译时或运行时错误强制执行。
预定义 Hook
Yew 随附以下预定义 Hook
use_state
use_state_eq
use_memo
use_callback
use_mut_ref
use_node_ref
use_reducer
use_reducer_eq
use_effect
use_effect_with
use_context
use_force_update
可在 Yew API 文档 中找到这些 Hook 的文档
自定义 Hook
在某些情况下,您希望定义自己的 Hook,以将组件中的潜在有状态逻辑封装到可重用函数中。有关更多信息,请参阅 定义自定义 Hook 部分。
进一步阅读
- React 文档中有一部分关于 React Hook。它们与 Yew 的 Hook 不同,但基本概念类似。