我创建了一个打印一些调试信息的钩子,然后调用一些 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
。在这种情况下,钩子仍然会按顺序调用。
如何在生产版本中排除挂钩?
答案 0 :(得分:2)
您可以使用 useMyHook
条件将逻辑包装在 if (process.env.NODE_ENV === 'development')
内。
您可以查看 React 文档中的 Rules of Hooks 以获得简洁的解释。