next.js开发中页面回退时报Unhandled Runtime ErrorTypeError destroy is not a function

Next.js开发中页面回退时报Unhandled Runtime Error:TypeError: destroy is not a function

问题描述

在Next.js开发中,从A页面跳转到B页面,再使用浏览器回退到A页面时报上述错误:

在这里插入图片描述

错误原因

是因为在B页面里,在使用useEffect时,错误地定义了异步函数:

    useEffect( async () => {
            const quizs = await getTheoreticalQuiz()
            setQuizs(quizs)
    }, []);

控制台会抛出错误,并给出推荐的写法:

app-index.tsx:25 Warning: useEffect must not return anything besides a function, which is used for clean-up.
It looks like you wrote useEffect(async () => …) or returned a Promise. Instead, write the async function inside your effect and call it immediately:

useEffect(() => {
  async function fetchData() {
    // You can await here
    const response = await MyAPI.getData(someId);
    // ...
  }
  fetchData();
}, [someId]); // Or [] if effect doesn't need props or state

解决办法

按照推荐的写法修改即可:

    useEffect( async () => {
        async function fetchData(){
            const quizs = await getTheoreticalQuiz()
            setQuizs(quizs)
        }
        fetchData()
    }, []);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值