我正在使用FullCalendar进行反应,我正在与状态作斗争……它返回以下消息:
错误:超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量,以防止无限循环。
我删除了代码中所有不必要的部分。
import React, { useState, useEffect } from "react";
import FullCalendar from "@fullcalendar/react";
import dayGridPlugin from "@fullcalendar/daygrid";
const Top = () => {
// Calendar info stored in state
const [calendarEvents, setCalendarEvents] = useState([]);
// method to retrieve dates
const getEventsForThisMonth = () => {
const events = [];
events.push({
title: "test",
date: '2021-03-25',
});
return events;
};
useEffect(() => {
const eventsCollected = getEventsForThisMonth();
setCalendarEvents(eventsCollected);
}, [calendarEvents]);
return (
<>
<FullCalendar
defaultView="dayGridMonth"
plugins={[dayGridPlugin]}
events={calendarEvents}
locale="ja"
/>
</>
);
};
export default Top;
如果您想让我提供更多信息,请告诉我。欢迎任何反馈/想法!谢谢
如前所述,您正在使用calendarEvents
依赖项触发useEffect
,这将再次设置日历事件的状态(
>),这也将再次触发useEfect,以此类推……创建一个无限循环。
如果想避免它保留您的解决方法,您可能需要在第一次设置事件,使用带有空deps
([]
)的useEffects
:
import React, { useState, useEffect } from "react";
import FullCalendar from "@fullcalendar/react";
import dayGridPlugin from "@fullcalendar/daygrid";
const Top = () => {
// Calendar info stored in state
const [calendarEvents, setCalendarEvents] = useState([]);
// method to retrieve dates
const getEventsForThisMonth = () => {
const events = [];
events.push({
title: "test",
date: '2021-03-25',
});
return events;
};
useEffect(()=>{
const eventsCollected = getEventsForThisMonth();
setCalendarEvents(eventsCollected);
}, [])
return (
<>
<FullCalendar
defaultView="dayGridMonth"
plugins={[dayGridPlugin]}
events={calendarEvents}
locale="ja"
/>
</>
);
};
export default Top;
这是因为当使用效果本身更改状态时,您使用效果具有状态的依赖关系。
当您的使用效果运行 -
当我运行我的代码时,我收到了这个错误。 超过了最大更新深度。当组件重复调用组件WillUpdate或组件DidUpdate中的setState时,可能会发生这种情况。React限制嵌套更新的数量以防止无限循环。 这是代码。它在引用。 我按照React网站上的文章所说的方式设置了我的东西,它“来了”于这个简洁的控制台类型,这就是我产生上述代码的地方。我对React、JSX和Javascript(以及
这是我的一段代码: 但这给了我错误,说超过了最大更新深度。当组件重复调用组件内部的 setState 时,可能会发生这种情况“组件将更新”或“组件更新”。React 限制嵌套更新的数量,以防止无限循环。 这是一个快照: 我该如何解决这个问题?
我有这个错误:错误:超过最大更新深度。当组件重复调用componentWillUpdate或componentDidUpdate内部的setState时,会发生这种情况。React限制嵌套更新的数量,以防止无限循环。 但是我不明白怎么解决!我只是在发布我的代码,对不起… 我的代码:
早上好,我正在开发一个React应用程序,通过REST API与后端通信。 该应用程序体系结构还使用 React 路由器,并使用服务器提供并存储在中的 JWT 令牌实现身份验证功能。 基本上: 用户连接到应用程序 如果用户未登录,则重定向到登录页面 登录后,它会重定向到带有路径的主页,其中应该显示带有路径的组件和带有路径的组件(如果一个很好地理解React路由器的工作) 在启动应用程序时,用户被正
我试图在参数更改时映射我的 redux 数组。它按预期呈现,但我在控制台中收到此错误。尝试了一些对useeffect的依赖性,但无法修复它。不知道为什么会发生这种情况。感谢您的帮助。 错误; 超过最大更新深度。当组件在useEffect中调用setState时,可能会发生这种情况,但useEfect要么没有依赖项数组,要么在每次渲染时都会更改其中一个依赖项。 我的代码;
超过了最大更新深度。当组件重复调用组件WillUpdate或组件DidUpdate中的setState时,可能会发生这种情况。React限制嵌套更新的数量以防止无限循环。 这是bossinfo.js 这是user.redux.js 你为什么一直报告这个问题?这是指向错误的方向吗?寻求帮助