我正在尝试使用 Jest 测试我的 React Functionnal 组件,但我在尝试更新组件状态时遇到了问题。
这是我的简单组件:
import {FunctionComponent, useEffect, useState} from "react";
import {LoginForm} from './../form/LoginForm';
import {requestConnexion} from "../../effector/UserEffects";
export const Login: FunctionComponent = () => {
const [error, setError] = useState("");
useEffect(()=>{
return requestConnexion.done.watch(({result, params}) => {
console.log(result.data);
userConnected(result.data["token"]);
// @ts-ignore
addProfileToStore(result.data["userProfile"]);
console.log("[LOGIN_PAGE] User connected");
history.push('/');
})
})
useEffect(()=>{
return requestConnexion.fail.watch(({error, params}) => {
console.log(params);
setErrorToState("Bad credentials");
})
})
const setErrorToState = (error:string) => {
setError(error);
}
return (
<div>
<LoginForm error={error}/>
</div>
)
}
export default Login;
我曾尝试使用酶的 setState
函数,但它仅适用于类组件?