小编Ber*_*eli的帖子

无法使用来自testing-library/react的React 18和renderHook测试自定义钩子

我有一个自定义钩子,可以在挂载时进行 API 调用并处理状态(isLoading、isError、数据、重新获取);

钩子非常简单:

    const useFetch = (endpoint, options) => {
    const [data, setData] = useState(null);
    const [error, setError] = useState(null);
    const [isLoading, setIsLoading] = useState(true);
    const [trigger, setTrigger] = useState(true);

    const triggerSearch = () => {
        setTrigger(!trigger);
    };

    useEffect(() => {
        const fetchData = async () => {
            try {
                const response = await fetch(
                    `${process.env.API_URL}${endpoint}`
                );
                const json = await response.json();
                setData(json);
                setIsLoading(false);
            } catch (error) {
                setError(error);
                setIsLoading(false);
            }
        };
        fetchData();
    }, [endpoint, trigger]);
    return {
        data, …
Run Code Online (Sandbox Code Playgroud)

reactjs react-testing-library react-hooks

5
推荐指数
1
解决办法
1万
查看次数