有很多类似的问题,尽管我在这里发布。
我收到以下错误:
未捕获的不变量冲突:超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量,以防止无限循环。
请注意,我还没有在page中使用过这样的功能。
选择日期选取器
时出错:
constructor(props){
super(props);
this.state={
fields: {},
errors: {}
}
}
handleIssueDate(date){
// this.state.IssueDate = moment(date).format("YYYY-MM-DD")
debugger;
let fields = this.state.fields;
fields["IssueDate"] = moment(date).format("YYYY-MM-DD")
this.setState({
fields
});
let errors = this.state.errors;
if (errors[date] != "" || errors[date] != null) {
errors["IssueDate"] = "";
}
}
render(){
return (
<DatePicker name="IssueDate" onChange={this.handleIssueDate} selected={this.state.fields.IssueDate} value={this.state.fields.IssueDate} placeholderText={"YYYY-MM-DD"} />)
}
已编辑:我刚刚从setState中移除了矩函数。现在它工作正常。请任何人解释这个奇怪的错误/行为。
https://github . com/hacker 0x 01/react-date picker/blob/master/docs/date picker . MD
选定的类型是instanceOf(Date)不是字符串
显然你正在改变国家。
let fields = this.state.fields; // fields still holds the reference to the state
fields["IssueDate"] = moment(date).format("YYYY-MM-DD") // here happens the mutation
this.setState({ // state is changed again
fields,
});
errors["IssueDate"] = ""; // state mutation once again
建议方法:
在状态中定义“IssueDate”字段:
state = {
fields: {
IssueDate: null,
},
error: {
IssueDate: null,
},
}
然后在你的onChange功能中:
this.setState(({ fields }) => ({
fields: {
...fields,
IssueDate: moment(date).format("YYYY-MM-DD"),
},
});
对错误也这样做。
已经有一些人问了这个问题,但是他们几乎都是由相同的原因引起的(例如< code > 附言:一些实用程序函数是在幕后定义的。 错误出在中。我找不到我无限地重新渲染的地方。
我正在做这个康威的生活游戏react项目,它工作得很好,但当我添加最后几个按钮来清除棋盘和其他一些功能时,react给了我这个错误 从代码片段来看,它向我展示了Clear()函数似乎是这里的问题所在,但我认为我没有在渲染()中设置状态来触发无限循环。这里是Clear和
我正在尝试将基于类的组件转换为功能组件。如果在useEffect钩子中使用与componentDidMount下相同的代码,则会出现上述错误。 以下是发生错误的功能组件 抛出以下错误,浏览器崩溃未捕获(promise)错误:重新渲染过多。React限制渲染的数量以防止无限循环。
我是新来的。反应路由器有问题 错误:超过了最大更新深度。当组件重复调用组件内部的setState时,可能会发生这种情况。React限制嵌套更新的数量以防止无限循环。 索引.tsx PrivateRoute.tsx: Main.tsx routes.tsx: App.tsx: 所以,问题是:如果没有确切的路线,我就没有这个错误,但是当将确切的道具传递给Private ateRoute时,我的商店组件
我有两个简单的带有父子关系的reactjs组件。子级包含一个带有onChange事件的输入和一个回调父级以设置状态。当我运行它时,setState似乎在父组件中工作,但传递到子组件中的道具似乎没有更新。有什么想法吗?下面是一段代码片段: 在上面的示例中,子组件中的输入值保持为“bar”,尽管在父组件中触发了,并且通过。为什么输入值不改变以反映新的状态?
早上好,我正在开发一个React应用程序,通过REST API与后端通信。 该应用程序体系结构还使用 React 路由器,并使用服务器提供并存储在中的 JWT 令牌实现身份验证功能。 基本上: 用户连接到应用程序 如果用户未登录,则重定向到登录页面 登录后,它会重定向到带有路径的主页,其中应该显示带有路径的组件和带有路径的组件(如果一个很好地理解React路由器的工作) 在启动应用程序时,用户被正