首页 > 解决方案 > React JS:重新渲染后状态不会获得其初始值吗?

问题描述

当状态改变时,函数再次运行(如果我错了,请纠正我)。又因为 App 函数的第一行定义了 state,data 和 setData 的值不会再默认了?例如,

import { useState } from "react";
import './App.css';

function App() {
  let [data, setData] = useState("string");
  function update() {
    setData("changed")
  }
  return (
    <div className="App">
      <h1 onClick={update}>{data}</h1>
    </div>
  );
}

export default App;

标签: javascriptnode.jsreactjs

解决方案


状态默认值仅在第一次渲染时使用,后续状态更新将使您的组件使用更新后的状态值。

在您的示例中,状态变量的默认值datastring用于初始渲染。

如果您单击h1标签,则该data值将变为changed将继续使用的值。

密码箱


推荐阅读