useHistory react-router-dom
In react-router-dom version 6
useHistory() is replaced by useNavigate() ;
import {useNavigate} from 'react-router-dom';
const navigate = useNavigate();
navigate('/home')
useHistory react-router-dom
In react-router-dom version 6
useHistory() is replaced by useNavigate() ;
import {useNavigate} from 'react-router-dom';
const navigate = useNavigate();
navigate('/home')
react router dom useparams
import React from "react";
import ReactDOM from "react-dom";
import {
BrowserRouter as Router,
Switch,
Route,
useParams
} from "react-router-dom";
function BlogPost() {
let { slug } = useParams();
return <div>Now showing post {slug}</div>;
}
ReactDOM.render(
<Router>
<Switch>
<Route exact path="/">
<HomePage />
</Route>
<Route path="/blog/:slug">
<BlogPost />
</Route>
</Switch>
</Router>,
node
);
react router dom usehistory hook
import styled from 'styled-components'
import {useHistory} from 'react-router-dom'
import {useState , useEffect} from 'react'
function Sidebar() {
const [channel , setChannel ] = useState([])
const getConnectFirebase = ()=>{
db.collection('channels').onSnapshot((snapshot)=>{
setChannel(snapshot.docs.map((doc)=>{
return {id:doc.id , name:doc.data().name}
}))
})
}
const history = useHistory();
const goToChannel = (id)=>{
if(id)
{
history.push(`/channel/${id}`)
}
}
useEffect(()=>{
getConnectFirebase()
})
return (
<div>
<Container>
<CreateChannel>
{
channel.map((items)=>{
return (
<NamingChannel onClick={goToChannel(items.id)} >
# {items.name}
</NamingChannel>
)
} )
}
</CreateChannel>
</Container>
</div>
)
}
export default Sidebar
const Container = styled.div`
background:#350d36;
height:95.9vh;
padding-left:35px;
color:violet;
font-family: 'Courier New', Courier, monospace;
`;
const CreateChannel = styled.div`
margin-top:25px;
`;
const NamingChannel = styled.div `
padding-left:5px;
color:violet;
cursor:pointer;
:hover{
color:whitesmoke;
}
`;
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us