import { StyleSheet, Text, View } from 'react-native'; import { socket } from './socket'; import { useEffect, useState } from 'react'; export default function App() { const [isConnected, setIsConnected] = useState(false); const [transport, setTransport] = useState('N/A'); useEffect(() => { if (socket.connected) { onConnect(); } function onConnect() { setIsConnected(true); setTransport(socket.io.engine.transport.name); socket.io.engine.on('upgrade', (transport) => { setTransport(transport.name); }); } function onDisconnect() { setIsConnected(false); setTransport('N/A'); } socket.on('connect', onConnect); socket.on('disconnect', onDisconnect); return () => { socket.off('connect', onConnect); socket.off('disconnect', onDisconnect); }; }, []); return ( Status: { isConnected ? 'connected' : 'disconnected' } Transport: { transport } ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', alignItems: 'center', justifyContent: 'center', }, });