首页 > 解决方案 > 在 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

标签: reactjs

解决方案


当组件第一次挂载时,会调用“ setTitle ”函数来更新状态。

当状态更新时,会重新渲染,因此会再次调用“ setTitle ”函数,触发无限循环

解决方案:

使用“ useffect ”或其他一些函数来更新状态


推荐阅读