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

React自定义hook useSession报错不是函数,该如何排查解决?

问题原因&修复方案

错误1:自定义Hook导入方式不匹配

你在useSession.js中使用的是默认导出(export default useSession),但在SessionContext.js中用了命名导入的写法import { useSession } from '../hooks/useSession',这就是报错useSession不是函数的直接原因。
修复方式:把SessionContext.js里的导入语句改成默认导入:

import useSession from '../hooks/useSession'

错误2:Context Provider的value属性语法错误

你当前写的value={isLoggedIn, setIsLoggedIn}是逗号表达式,只会把setIsLoggedIn作为value值传递,后续用useContext解构会拿不到isLoggedIn。
修复方式:把value的值包裹为对象:

<SessionContext.Provider value={{ isLoggedIn, setIsLoggedIn }}>{children}</SessionContext.Provider>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:36:03