即使组件重新渲染,输入值如何保持不变?

Jan*_*a21 1 javascript reactjs react-component

我有一个非常基本的反应组件,如下所示。据我所知,每次状态值发生变化时,该组件都会重新渲染。但我想知道的是,如果每次我在输入字段中输入内容时组件都会重新渲染,为什么输入值保持不变并且不会返回到空值?

import React, { useState } from "react";

const InputExample = () => {
  const [value, setValue] = useState("");
  console.log("render");
  return (
    <>
      <input type="text" onChange={(e) => setValue(e.target.value)} />
    </>
  );
};

export default InputExample;
Run Code Online (Sandbox Code Playgroud)

Ali*_*man 6

您将重新渲染与重新初始化混淆了。重新渲染只是更新 DOM 以反映状态的变化。这并不意味着组件被重新创建并分配其开始时的初始状态。

在这种情况下,每当输入更改时,值变量都会根据输入元素中输入的内容进行更新。