React Hooks 规则 Only call Hooks from React function components.

在温习 hooks 功能时发现原文中有这样一句话

Hooks are JavaScript functions, but they impose two additional rules:

  • Only call Hooks at the top level. Don’t call Hooks inside loops, conditions, or nested functions.

这个规则确保在每次组件渲染的时候 Hooks 调用顺序一致。 React 会给每个 state hook 关联一个局部变量,这个规则确保在多个 state hook 和 effect hook 调用之间正确的保留 hook 的 state。

  • Only call Hooks from React function components. Don’t call Hooks from regular JavaScript functions. (There is just one other valid place to call Hooks — your own custom Hooks. )

通过遵循这个原则,你可以确保一个组件的所有状态逻辑从其源代码中清晰可见。 (官方解释)

对第二个规则有点费解,相信也有人遇到同样的困惑,所以写这篇博客。

在 React 文档随后的章节中对函数组件进行了定义:

// 第一种
const Example = (props) => {
  // You can use Hooks here!
  return <div />;
}

// 第二种
function Example
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值