Overnap

루트 컴포넌트에 라우터와 소켓 컨텍스트 추가

import React from 'react';
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
import { socket, SocketProvider } from './SocketContext';
import { Login } from './Login';
function App() {
const App: React.FC = () => {
return (
<div className="App">
<div className="ml-3 mb-3 font-bold text-2xl">TESTING</div>
<header className="App-header">
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
<SocketProvider value={socket}>
<Router>
<Switch>
<Route exact path='/' component={Login}/>
<Route path='/rooms'></Route>
<Route path='/:roomId'></Route>
</Switch>
</Router>
</SocketProvider>
);
}
......
import React from 'react';
import { io } from 'socket.io-client';
export const socket = io('http://localhost/');
const SocketContext = React.createContext(socket);
export const SocketProvider = SocketContext.Provider;
export const SocketConsumer = SocketContext.Consumer;
export default SocketContext;