Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

121
Visualizações
Auto redirect page use websocket and reactJS

now i'm creating project combine with ReactJs, Websocket and nodeJS. i still new from reactJs and i need to implement auto redirect after get data use websocket that send on nodeJs to reactJs. but i struggle how to implement it.

here is my code

import React from 'react';  
import { Redirect, Router, useHistory, useNavigate } from "react-router-dom"; 
import { io } from "socket.io-client";
const socket = io("ws://localhost:3000");

function Product(props) {

    socket.on("payment_123", (arg) => { 

        // 1st try code
        // this.props.history.push('/address/payment_123');

        // 2nd try code
        // this.setState({ redirect: '/address/payment_123' });

        //3rd try code
        // browserHistory.push('/address/payment_123');

        //4th try code
        // Router.transitionTo('/address/payment_123');

        //5th try code
        // const navigate = useNavigate();
        // navigate('/address/payment_123', { replace: true });
    });
 
    return (
        <div>
            
            <div className="row"> 
                <div className="col">
                Product View Body
                </div> 
            </div>
        </div>
    );
}

export default Product;

i already tried those 5 code but no one can work.. please help me how i able to auto redirect it.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You can do your logic inside useEffect with async function. You can use useHistory or useNavigate

import React from 'react';  
import { Redirect, Router, useHistory, useNavigate } from "react-router-dom"; 
import { io } from "socket.io-client";
 

function Product(props) {

    const history = useHistory();
    //or you can use navigate
    // const navigate = useNavigate();

    const socketTrigger = async () => {
          const socket = await io("ws://localhost:3000");
          const socketOn = await socket.on("payment_123", (arg) => { 
                //Here do your logic
        });
        history.push('HERE PUT YOUR URL')
        //or use navigate here up to you
    }
    
    useEffect(() => {
      socketTrigger();
    },[])
     
        return (
            <div>
                
                <div className="row"> 
                    <div className="col">
                    Product View Body
                    </div> 
                </div>
            </div>
        );
    }
    
    export default Product;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda