Aby zamknąć połączenie WebSocket w komponencie React, możesz użyć metody close() wewnątrz funkcji skojarzonej z komponentem:
import React, { useState, useEffect } from 'react';
function MyComponent() {
const [ws, setWs] = useState(null);
useEffect(() => {
const socket = new WebSocket('ws://localhost:8080');
setWs(socket);
return () => {
socket.close();
};
}, []);
return (
My WebSocket Component
);
}
export default MyComponent;
W powyższym przykładzie tworzymy połączenie WebSocket w funkcji useEffect i przypisujemy go do stanu za pomocą setWs. Funkcja useEffect zwraca funkcję cleanup, która zostanie wywołana, gdy komponent zostanie odmontowany. W tej funkcji cleanup zamykamy połączenie za pomocą metody close().
Ważne jest, aby zamknąć połączenie WebSocket, gdy komponent jest odmontowany, ponieważ niepotrzebne połączenie może powodować problemy z wydajnością i wprowadzać zamieszanie w aplikacji.