我正在尝试创建一个 SessionProvider 以避免 propdrilling 并在全局范围内为我的组件保留会话。
但它说 useSession 不是一个函数,给出了什么?
contexts\SessionContext.js: TypeError: (0 , _hooks_useSession__WEBPACK_IMPORTED_MODULE_2__.useSession) is not a function
Run Code Online (Sandbox Code Playgroud)
我的自定义挂钩(useSession.js):
import { useState } from 'react'
function useSession(isLoggedInState) {
const [isLoggedIn, setIsLoggedIn] = useState(isLoggedInState);
return { isLoggedIn, setIsLoggedIn, }
}
export default useSession;
Run Code Online (Sandbox Code Playgroud)
我的提供者(SessionContext.js):
import React, { createContext, useState } from 'react'
import { useSession } from '../hooks/useSession'
const SessionContext = createContext();
function SessionProvider({ children, isLoggedin = false }) {
const { isLoggedIn, setIsLoggedIn } = useSession(isLoggedin);
return (
<SessionContext.Provider value={isLoggedIn, setIsLoggedIn}>{children}</SessionContext.Provider> …Run Code Online (Sandbox Code Playgroud)