Detect Route Change with react-router

前端 未结 8 985
南笙
南笙 2020-11-27 11:18

I have to implement some business logic depending on browsing history.

What I want to do is something like this:

reactRouter.onUrlChange(url => {
         


        
8条回答
  •  难免孤独
    2020-11-27 12:06

    import React from 'react';
    import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
    import Sidebar from './Sidebar';
    import Chat from './Chat';
    
    
        
            
                
                
            
    
    

    import { useHistory } from 'react-router-dom';
    function SidebarChat(props) {
        **const history = useHistory();**
        var openChat = function (id) {
            **//To navigate**
            history.push("/rooms/" + id);
        }
    }
    

    **//To Detect the navigation change or param change**
    import { useParams } from 'react-router-dom';
    function Chat(props) {
        var { roomId } = useParams();
        var roomId = props.match.params.roomId;
    
        useEffect(() => {
           //Detect the paramter change
        }, [roomId])
    
        useEffect(() => {
           //Detect the location/url change
        }, [location])
    }
    

提交回复
热议问题