You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用useNavigate()触发Invalid hook call错误,请求技术帮助

useNavigate钩子调用错误的解决方案

你的代码里存在一个明显错误:没有正确调用useNavigate钩子。你当前只是将useNavigate函数本身赋值给了navigate变量,而没有执行这个钩子来获取实际的导航函数,这直接违反了React Hooks的使用规则,导致了"Invalid hook call"错误。

修正后的代码如下:

import React, { useContext, useEffect } from 'react';
import { useNavigate } from "react-router-dom";

function Recipeitem() {

  // 调用useNavigate钩子获取导航函数
  let navigate = useNavigate();
  const gotoRecipes = ()=>{
    navigate(`/recipe`);
  }

  return (
      <button onClick={()=>{gotoRecipes()}}>Go to Page</button>
  );
}

所有React Hooks都必须以函数调用的方式使用(即后面加()),并且要确保调用位置在函数组件的顶层作用域内,不能在嵌套函数、条件判断或循环中调用,这是保证Hooks正常工作的核心规则。

内容的提问来源于stack exchange,提问作者Ahmed Sajid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:20:34