javascript - 如何从生产构建中排除钩子
问题描述
我创建了一个打印一些调试信息的钩子,它又调用了一些 Reacts 钩子。我想自动将其从生产版本中排除。如果我尝试使用这样的 if 语句来做到这一点:
if (process.env.NODE_ENV === 'development') {
useMyHook(...)
}
我得到错误 React Hook "useMyHook" is called conditionally. React Hooks must be called in the exact same order in every component render
。在这种情况下,仍然会按顺序调用挂钩。
如何在生产构建中排除钩子?
解决方案
useMyHook
您可以使用条件将逻辑包装在里面if (process.env.NODE_ENV === 'development')
。
您可以查看React 文档中的“挂钩规则”以获得简洁的解释。
推荐阅读
- python - 为什么 '==' 在 Python 中出现在 'in' 之前?
- python - 满足条件时消除数据框迭代行
- javascript - 'ActiveXObject' 未定义 no-undef [React-Js]
- sql - SQL - 在嵌套查询中的表之间传输值
- javascript - 根据文档准备好的 URL 参数选择选项和检查复选框的功能
- python - Django:未保存动态表单字段的 CreateView 对象
- time - 流入聚合查询返回错误时间
- android - 如何从 PagedListAdapter 刷新 RecyclerView 中的数据?
- wpf - WPF - Scrollviewer 内的列表框不会滚动项目
- java - Hibernate 组合多个查询