更新功能组件测试中的状态

时间:2021-02-17 17:17:22

标签: reactjs jestjs enzyme

我正在尝试使用 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 函数,但它仅适用于类组件?

0 个答案:

没有答案
相关问题