javascript - 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;
解决方案
状态默认值仅在第一次渲染时使用,后续状态更新将使您的组件使用更新后的状态值。
在您的示例中,状态变量的默认值data
将string
用于初始渲染。
如果您单击h1
标签,则该data
值将变为changed
将继续使用的值。
推荐阅读
- docker - 在 Vagrant 中的 docker-compose 中设置卷
- nixos - 是否可以(或建议)使用 NixOps 将 NixOS 安装到 USB 闪存驱动器?
- xml - 将 importXML 与 php 填充的网站一起使用并抓取到 googlesheets
- visual-studio - 如何在不打开外部浏览器实例的情况下在 Visual Studio 中查看代码文档?
- android - 是否可以与 android studio 模拟器上的模拟设备共享本地目录
- android - 如何使用 ChatSDK 对 Firebase 用户进行身份验证?
- ios - 辅助功能 屏幕阅读器在 iPhone X 上有不同的行为
- javascript - 将数组元素分组为 n 组
- javascript - 物化输入字段密码错误标签firefox
- php - 在 PHP 中读取 Socket,只接收 Trash