Взгляните на хук useRef (https://reactjs.org/docs/hooks-reference.html#useref) вместо непосредственного использования document.getElementById ("cy"). Также похоже, что вам нужно установить высоту для вашего элемента контейнера, в противном случае он не виден.
Ссылки предоставляют способ доступа к узлам DOM или элементам React, созданным в методе рендеринга.
export default function App() {
const containerRef = useRef();
useEffect(() => {
const config = {
container: containerRef.current,
style: [
{
selector: "node",
style: { content: "data(id)" },
},
],
elements: [
{ data: { id: "n1" } },
{ data: { id: "n2" } },
{ data: { id: "e1", source: "n1", target: "n2" } },
],
};
cytoscape(config);
}, []);
return (
<div>
<h1>Hello cytoscape</h1>
<div ref={containerRef} style={{ height: "300px" }} />
</div>
);
}