Вот решение, которое работает, я должен использовать aframe-реагировать:
import React from "react";
import "aframe";
import { Entity, Scene } from "aframe-react";
import "./App.css";
function App() {
const [state, setState] = React.useState(false);
const handleClick = () => {
setState(!state);
console.log("Clicked");
};
return (
<div className="App">
<Scene id="updateMe">
<a-camera>
<a-cursor></a-cursor>
</a-camera>
<Entity
geometry={{ primitive: "box" }}
material={{ color: `${state === true ? "red" : "blue"}` }}
position={{ x: 0, y: 0, z: -5 }}
events={{
click: () => handleClick(),
}}
/>
</Scene>
</div>
);
}
export default App;