24
loading...
This website collects cookies to deliver better user experience
Npm: npm install react-router@next react-router-dom@next
Yarn: yarn add react-router@next react-router-dom@next
<Switch>
রিমুভ করে এর পরিবর্তে <Routes>
আনা হয়েছে। এটিতে <Switch>
এর প্রায় সব বৈশিষ্ট্য থাকার পাশাপাশি বেশ কিছু এক্সটা ফিচার রয়েছে।import { BrowserRouter, Switch, Route } from 'react-router-dom';
const App = () => {
return (
<BrowserRouter>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/dashboard" component={Dashboard} />
</Switch>
</BrowserRouter>
);
}
import { BrowserRouter, Routes, Route } from 'react-router-dom';
const App = () => {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="dashboard" element={<Dashboard/>} />
</Routes>
</BrowserRouter>
);
}
<Route exact path="/" component={Home} />
<Route path="/dashboard" render={routeProps => (
<Dashboard isAdmin={true} />
)}
/>
<Route path="/" element={<Home />} />
<Route path="dashboard" element={<Dashboard isAdmin={true} />} />
<Route exact path="/" component={Home} />
<Route path="/" element={<Home />} />
<Route exact path="/" component={Home} />
<Route path="/dashboard" component={Dashboard} />
<Route path="/" element={<Home />} />
<Route path="dashboard" element={<Dashboard />} />
<Route exact path="/" component={Home} />
<Route path="/users" component={Users} />
// ....
users.js
import { useRouteMatch } from 'react-router-dom';
const Users = () => {
const { path } = useRouteMatch();
return (
<div>
<Switch>
<Route path={`${path}/:id`} component={UserInfo} />
<Route path={`${path}/profile`} component={UserProfile} />
</Switch>
</div>
);
}
<Route path="/" element={<Home />} />
<Route path="users" element={<Users />}>
<Route path=":id" element={<UserInfo />} />
<Route path="profile" element={<UserProfile />} />
</Route>
// ....
users.js
import { Outlet } from 'react-router-dom';
const Users = () => {
return (
<div>
<Outlet/>
</div>
);
}
import { useHistory } from 'react-router-dom';
const CustomButton = props => {
const history = useHistory();
const handleClick = () => {
history.push('/users');
}
return <button onClick={handleClick}>{props.label}</button>;
}
import { useNavigate } from 'react-router-dom';
const CustomButton = props => {
const navigate = useNavigate();
const handleClick = () => {
navigate('/users');
}
return <button onClick={handleClick}>{props.label}</button>;
}
২৮.৪ kb
১০.২ kb