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 版权协议,转载请附上原文出处链接和本声明。