Javascript 修改DOM

Javascript 修改DOM,javascript,reactjs,Javascript,Reactjs,仅当状态发生变化时,重新渲染 那么,为什么我可以直接看到我对真实DOM所做的更改呢 我知道我正在修改真实的DOM,但是当我根本没有更改状态时,是什么触发了重新渲染呢 import React from "react"; import ReactDOM from "react-dom"; import "./styles.css"; function App() { return ( <div className="App"> <h1 id="head

仅当状态发生变化时,重新渲染

那么,为什么我可以直接看到我对真实DOM所做的更改呢

我知道我正在修改真实的DOM,但是当我根本没有更改状态时,是什么触发了重新渲染呢

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

function App() {
  return (
    <div className="App">
      <h1 id="header">Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
document.getElementById("header").style.color = "red";
从“React”导入React;
从“react dom”导入react dom;
导入“/styles.css”;
函数App(){
返回(
你好,代码沙盒
开始编辑,看看神奇的发生!
);
}
const rootElement=document.getElementById(“根”);
ReactDOM.render(

我假设react在看到VirtualDOM中的更改时会重新渲染,在这种情况下它会清晰地重新渲染。

我的问题是是什么触发了对账引擎,以便react计算出更改并重新呈现

一种解释是,整个DOM会正常重新呈现,并且react有一个过时的DOM副本

但在这种情况下,我想这应该发生

-下次react渲染时,应该认为它有一个更新的副本
然后将颜色改回黑色。

这是否回答了您的问题?您可以使用-
forceUpdate
强制重新渲染DOM。要了解更多-@drewerese,该问题仅由我提出。这两个问题都不同,标题有些相似:)@AlokMali我为什么要使用forceUpdate()DOM已经更新了。我的问题是怎么做?@kooskoos,我认为这是因为一旦应用程序被加载,App.js的所有东西都会被执行-