Uncaught Error: Rendered fewer hooks than expected. This may be caused by an accidental early return

  • Post author:
  • Post category:其他



Uncaught Error: Rendered fewer hooks than expected. This may be caused by an accidental early return statement.

未捕获错误:渲染的钩子比预期的少。这可能是由意外的提前返回语句引起的。

这个错误就是说react预先要渲染的一些钩子函数

hook

没有执行就返回了。可能出现的错误代码如下

export default ()=>{
	if(xxx) {
		return xxx; // 一些hook还没执行就返回
	}
	useEffect(()=>{ xxx },[]);
	useMemo(()=>{ xxx }, [])
	return <div>xxx</div>
}

解决方法就是将返回语句移动到所有

hook

之后

export default ()=>{
	
	useEffect(()=>{ xxx },[]);
	useMemo(()=>{ xxx }, [])
	if(xxx) {
		return xxx;
	}
	return <div>xxx</div>
}



版权声明:本文为weixin_45696837原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。