Je sais que la Événement synthétique au lieu de la Événement du domaine indigène Je pense que l'interaction avec React App devrait être gérée de cette manière, mais je me demande pourquoi le comportement est si bizarre. Lorsque l'événement React fonctionne bien, et l'événement dom réinitialise toujours l'état à l'état initial.
import React, { useState, useEffect } from "react";
import "./style.css";
export default function App() {
const [num, setNum] = useState(0);
function clickMe() {
setNum(num + 1);
}
useEffect(() => {
document.getElementById("app_btn").addEventListener("click", clickMe);
return () =>
document.getElementById("app_btn").removeEventListener("click", clickMe);
}, []);
return (
<div>
<h1>Hello StackBlitz!</h1>
<div>App {num}</div>
<button id="app_btn">DOM click</button> <br />
<button onClick={clickMe}>React Click</button>
</div>
);
}
Le projet complet peut être consulté ici https://stackblitz.com/edit/react-wqrmcu?file=src/App.js