Reactjs 使用上下文和react钩子测试组件

Reactjs 使用上下文和react钩子测试组件,reactjs,react-testing-library,Reactjs,React Testing Library,我有一个简单的仪表板组件,它依赖于React上下文来管理身份验证。它包含一个自定义钩子useAuth,用于提取当前用户以及与身份验证相关的功能:登录、注销等 这是上下文文件:AuthContext.js: import React,{createContext,useContext,useState,useffect}来自“React”; 从“./config/firebase”导入{auth}; const AuthContext=createContext(); 导出函数useAuth()

我有一个简单的仪表板组件,它依赖于React上下文来管理身份验证。它包含一个自定义钩子
useAuth
,用于提取当前用户以及与身份验证相关的功能:登录、注销等

这是上下文文件:
AuthContext.js

import React,{createContext,useContext,useState,useffect}来自“React”;
从“./config/firebase”导入{auth};
const AuthContext=createContext();
导出函数useAuth(){
返回useContext(AuthContext);
}
导出函数AuthProvider({children}){
const[currentUser,setCurrentUser]=useState();
const[loading,setLoading]=useState(true);
功能注册(电子邮件、密码){
返回auth.createUserWithEmailAndPassword(电子邮件,密码);
}
功能登录(电子邮件、密码){
返回带有email和password(电子邮件,密码)的身份验证登录;
}
函数注销(){
返回auth.signOut();
}
useffect(()=>{
const unsubscribe=auth.onAuthStateChanged((用户)=>{
setCurrentUser(用户);
设置加载(假);
});
退订;
}, []);
常量值={
当前用户,
报名,
登录,
注销,
};
返回(
{!正在加载(&children}
);

}
对于
使用
上下文/AuthContext
中的
AuthContext
而不是创建新上下文,因为钩子使用的是上下文。

对于
上下文/AuthContext
,而不是创建新上下文,这就是钩子使用的上下文。这是一个简单的解决方案,谢谢!我很高兴这有帮助!让我补充这一点作为回答。