Render Polaris checkbox and count onChange calls
HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Polaris s-checkbox onChange fires twice on React 19</title>
<script src="https://cdn.shopify.com/shopifycloud/polaris-2.js"></script>
</head>
<body>
<div id="root"></div>
<p>onChange calls: <span id="count">0</span></p>
<script type="module">
import React from "https://esm.sh/react@19.3.1";
import { createRoot } from "https://esm.sh/react-dom@19.3.1/client?deps=react@19.3.1";
let calls = 0;
createRoot(document.getElementById("root")).render(
React.createElement("s-checkbox", {
label: "Click me once",
onChange: () => {
calls += 1;
document.getElementById("count").textContent = calls;
},
}),
);
</script>
</body>
</html>