reactjs - 在 react 中添加一个对象到 useState。错误“重新渲染过多”
问题描述
一旦我将一个对象添加到“setTitle”,我就会收到一个错误。在“useState()”中设置对象有效。
import React, { useState } from "react";
export default function App() {
const [title, setTitle] = useState({});
setTitle({
"somthing": "dfgsf"
});
return <p>df</p>;
}
太多的重新渲染。React 限制了渲染的数量以防止无限循环。
直播:https ://codesandbox.io/s/custom-hook-playground-bzt6s?file=/src/App.js
解决方案
当组件第一次挂载时,会调用“ setTitle ”函数来更新状态。
当状态更新时,会重新渲染,因此会再次调用“ setTitle ”函数,触发无限循环
解决方案:
使用“ useffect ”或其他一些函数来更新状态
推荐阅读
- azure - Azure 数据工厂数据流 CosmosDB 接收器“写入吞吐量预算”什么都不做
- gitlab - 无法从 gitlab 下载工件
- java - 如何将我的正常代码写入片段?
- r - 在R中按季度从另一个类别中减去一个类别
- java - 空对象引用 - 音乐播放器
- azure - Azure 流分析作业无限运行
- anylogic - 在 AnyLogic 中测量系统中批次所花费的时间
- python - 哪种方法更好地计算迭代器的长度?
- asp.net-core - Asp net core Blazor Auth0 异常:OpenIdConnectAuthenticationHandler:message.State 为 null 或为空
- python - 在 Python 中使用递归进行高效的驱动器扫描