Estoy creando una función de comentarios en tiempo real para mi aplicación. Estoy usando socket.io para mi back-end (nodejs) y el cliente socket.io para frontend - reactjs. No entiendo por qué mi aplicación envía una solicitud de bucle infinito. ¿Puede alguien ayudarme?
Uso el socket en mi app.js y paso el socket de accesorios a mi ruta, pero cuando creo el socket en MyApp, pruebo en Edge y no puedo evitar que el cliente envíe una solicitud de ciclo infinito.
import io from 'socket.io-client' const socket = io(); function App() { useEffect(()=>{ socket.on('connect',(id)=>{ console.log(id) }) },[]) return ( <Provider store={store}> <ToastContainer position="top-right" autoClose={3000} hideProgressBar={false} newestOnTop={false} closeOnClick rtl={false} pauseOnFocusLoss draggable pauseOnHover={false} /> {/* Same as */} <div className="App"> <Header/> <Switch> <Redirect exact path="/" from="/" to="/home" /> <Route exact path='/home' component={HomePage} /> <Route exact path='/shop' component={ShopPages}/> <Route exact path="/user/auth" component={AuthPage}/> <Route exact path='/product/:id' component={ProducDetail}/> {/* <PrivateRoute component={AuthPage} path="/user/auth" exact /> */} <PrivateRoute component={UserPage} path="/user/infor" exact /> {/* <PrivateRoute path="/user/auth/verify/:activation_token" exact component={VerifyPage}/> */} <PrivateRoute component={VerifyPage} path="/user/auth/verify/:activation_token" exact /> <Route component={Notfound} /> </Switch> </div> </Provider> ); } export default App;Mis nodos de servidor
require('dotenv').config() const express = require('express') const mongoose = require('mongoose') const cors = require('cors') const fileUpload = require('express-fileupload') const cookieParse = require('cookie-parser') const Comments = require('./models/commentModel') const app = express() app.use(cors()) app.use(express.json()) app.use(cookieParse()) app.use(fileUpload({ useTempFiles:true })) // socket const http = require('http').createServer(app) const io = require('socket.io')(http) let users = [] io.on('connection',socket=>{ console.log(socket.id + 'connected') socket.on('disconnect',()=>{ console.log(socket.id + 'disconnected') }) })