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