跳至主要内容
版本:0.21

钩子

钩子

钩子是让你存储状态和执行副作用的函数。

Yew 带有几个预定义的钩子。你还可以创建自己的钩子,或发现许多 社区制作的钩子

钩子规则

  1. 钩子函数名称必须始终以 use_ 开头
  2. 钩子只能在以下位置使用
    • 函数/钩子的顶级。
    • 函数/钩子内部的块,因为它尚未分支。
    • 函数/钩子内部的顶级 if 表达式的条件中。
    • 函数/钩子内部的顶级 match 表达式的被检查值中。
  3. 对于每次渲染,必须按相同顺序调用钩子。仅在使用 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 不同,但基本概念类似。