react-router-dom#Route TypeScript Examples
The following examples show how to use
react-router-dom#Route.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: App.tsx From one-platform with MIT License | 6 votes |
function App() {
return (
<>
<Switch>
<Route path="/" component={ AppIndex } exact />
<Route path="/:appId">
<AppConsoleShell>
<Switch>
<Redirect path="/:appId" to="/:appId/overview" exact />
<Route path="/:appId/overview" component={ AppOverview } exact />
<Route path="/:appId/analytics" component={ UnderDevelopment } exact />
<Route path="/:appId/op-navbar" component={ ConfigureOPNavbar } exact />
<Route path="/:appId/database" component={ ConfigureDatabase } exact />
<Route path="/:appId/feedback" component={ FeedbackList } exact />
<Route path="/:appId/feedback/edit" component={ ConfigureFeedback } exact />
<Route path="/:appId/lighthouse" component={ ConfigureLighthouse } exact />
<Route path="/:appId/search" component={ ConfigureSearch } exact />
<Route path="/:appId/notifications" component={ UnderDevelopment } exact />
<Route path="/:appId/user-groups" component={ UnderDevelopment } exact />
<Route path="/:appId/settings" component={ AppSettings } />
<Route path="*" component={ NotFound } />
</Switch>
</AppConsoleShell>
</Route>
</Switch>
<AddAppForm />
</>
);
}
Example #2
Source File: App.tsx From Demae with MIT License | 6 votes |
App = () => {
return (
<Switch>
<Route path={`/`} exact component={Home} />
<Route path={`/login`} exact component={Login} />
<Route path={`/home`} exact component={Home} />
<Route path={`/cart`} exact component={Cart} />
<Route path={`/account`} exact component={Account} />
<Route path={`/account/create`} exact component={AccountCreateWorkFlow} />
<Route path={`/account/orders`} exact component={Order} />
<Route path={`/account/orders/:orderID`} exact component={Order} />
<Route path={`/account/payments`} exact component={Payment} />
<Route path={`/account/payout`} exact component={Payout} />
<Route path={`/provider/create`} exact component={ProviderCreateWorkFlow} />
<Route path={`/providers`} exact component={Provider} />
<Route path={`/providers/:providerID`} exact component={Provider} />
<Route path={`/providers/:providerID/products`} exact component={Product} />
<Route path={`/providers/:providerID/products/:productID`} exact component={Product} />
<Route path={`/providers/:providerID/products/:productID/skus/:skuID`} exact component={SKU} />
<Route path={`/checkout/shipping/:shippingID`} exact component={Shipping} />
<Route path={`/checkout/shipping`} exact component={Shipping} />
<Route path={`/checkout`} exact component={Checkout} />
<Route path={`/checkout/paymentMethod`} exact component={PaymentMethod} />
<Route path={`/checkout/paymentMethod/:paymentMethodID`} exact component={PaymentMethod} />
<Route path={`/checkout/:providerID`} exact component={Checkout} />
<Route path={`/checkout/:providerID/completed`} exact component={CheckoutCompleted} />
</Switch>
)
}
Example #3
Source File: homeRouter.tsx From react_admin with MIT License | 6 votes |
Routers: React.FC<Iprops> = props => {
/**
* 切换路由触发
* 模拟vue的路由守卫
*/
const onEnter = useCallback(Component => {
return <Component {...props} />
}, [])
return (
<ErrorBoundary location={props.location}>
<Suspense fallback={<Loading />}>
<Switch>
<Route exact path="/home" render={() => onEnter(Home)} />
<Route exact path="/home/about" render={() => onEnter(About)} />
<Route exact path="/home/echarts" render={() => onEnter(Echarts)} />
<Route exact path="/home/form" render={() => onEnter(FormTable)} />
<Route component={NotFound} />
</Switch>
</Suspense>
</ErrorBoundary>
)
}
Example #4
Source File: App.tsx From covid_dashboard with MIT License | 6 votes |
public render() {
const {env} = this.state;
return (
<IntlProvider locale={env.lang} messages={this.getMessage()}>
<Router>
<div className="App">
<Route exact path='/' >{this.drawMain()}</Route>
<Route exact path='/public' >{this.drawMain()}</Route>
<Route exact path='/contributors' ><Contributors lang={env.lang} onSwitchLang={this.handleSwitchLocale} /></Route>
<Route exact path='/algorithm' ><AlgorithmPage lang={env.lang} onSwitchLang={this.handleSwitchLocale} /></Route>
</div>
</Router>
</IntlProvider>
);
}
Example #5
Source File: index.tsx From landy-react-template with MIT License | 6 votes |
Router = () => {
return (
<Suspense fallback={null}>
<Styles />
<Header />
<Switch>
{routes.map((routeItem) => {
return (
<Route
key={routeItem.component}
path={routeItem.path}
exact={routeItem.exact}
component={lazy(() => import(`../pages/${routeItem.component}`))}
/>
);
})}
</Switch>
<Footer />
</Suspense>
);
}
Example #6
Source File: App.tsx From akashlytics with GNU General Public License v3.0 | 6 votes |
export function App() {
const mediaQuery = useMediaQueryContext();
const classes = useStyles();
return (
<div>
<Helmet defaultTitle="Akashlytics" titleTemplate="Akashlytics - %s" />
<Header />
<BetaBanner />
<div className={clsx(classes.appBody, { [classes.appBodySmall]: mediaQuery.smallScreen })}>
<Switch>
<Redirect from="/revenue/daily" to="/graph/daily-akt-spent" />
<Redirect from="/revenue/total" to="/graph/total-akt-spent" />
<Route path="/faq">
<Faq />
</Route>
<Route path="/price-compare">
<PriceCompare />
</Route>
<Route path="/graph/:snapshot">
<Graph />
</Route>
<Route path="/deploy">
<Deploy />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
<Footer />
</div>
);
}
Example #7
Source File: EvmApp.tsx From anchor-web-app with Apache License 2.0 | 6 votes |
export function EvmApp() {
return (
<EvmAppProviders>
<div>
<GlobalStyle />
<Header />
<Routes>
<Route index={true} element={<Dashboard />} />
<Route path="/mypage" element={<Mypage />} />
<Route path="/earn" element={<Earn />} />
<Route path="/borrow" element={<Borrow />} />
<Route path="/terms" element={<TermsOfService />} />
<Route path="/gov/" element={<GovernanceMain />} />
<Route path="/poll/:id" element={<PollDetail />} />
<Route path="/bridge/restore" element={<Restore />} />
<Route path="/claim/all" element={<ClaimAll />} />
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
<BackgroundTransactions />
</div>
</EvmAppProviders>
);
}
Example #8
Source File: CustomBrowserRouter.tsx From firetable with Apache License 2.0 | 6 votes |
CustomBrowserRouter: React.FC<ICustomBrowserProps> = ({ children }) => (
<BrowserRouter>
<Route>
{(routeProps) => (
<RouterContext.Provider value={routeProps}>
{children}
</RouterContext.Provider>
)}
</Route>
</BrowserRouter>
)
Example #9
Source File: App.tsx From mano-aloe with MIT License | 6 votes |
render() {
return (
<LanguageContext.Provider value={this.state}>
<ButtonAppBar />
<HeaderSection />
<main className="main">
<Suspense fallback={<div>Loading...</div>}>
<Switch>
<Route exact path='/'>
<Redirect to="/home" />
</Route>
<Route path='/home' component={HomePage}/>
<Route path='/game' component={GamePage}/>
<Route path='/art' component={ArtPage}/>
</Switch>
</Suspense>
</main>
</LanguageContext.Provider>
);
}
Example #10
Source File: App.tsx From firebase-react-typescript-project-template with MIT License | 6 votes |
App = (): JSX.Element => {
return (
<ThemeProvider theme={createTheme("light")}>
<CssBaseline />
<SnackbarNotificationProvider>
<SessionProvider>
<Router>
<Suspense fallback={<div />}>
<Switch>
<Route path={SIGNIN_ROUTE}>
<SigninSignupPage variant="signin" />
</Route>
<Route path={SIGNUP_ROUTE}>
<SigninSignupPage variant="signup" />
</Route>
<Route path={AUTH_ACTION_PATH}>
<AuthAction />
</Route>
<PrivateRoute path={APP_LANDING}>
<LandingPage />
</PrivateRoute>
<Redirect to={APP_LANDING} />
</Switch>
</Suspense>
</Router>
</SessionProvider>
</SnackbarNotificationProvider>
</ThemeProvider>
);
}
Example #11
Source File: App.tsx From clarity with Apache License 2.0 | 6 votes |
NavLink = (props: { item: MenuItem }) => {
let item = props.item;
// Based on https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/NavLink.js
return (
<Route
path={item.path}
exact={item.exact}
children={props => {
const cls = props.match ? 'active' : '';
return (
<li
className={['nav-item', cls].filter(x => x).join(' ')}
title={item.label}
data-toggle="tooltip"
data-placement="right"
>
<Link to={item.path} className="nav-link">
<div style={{ margin: '0 10px 0 20px' }}>{item.icon}</div>
<span className="nav-link-text">{item.label}</span>
<img className="svg-additional" src={item.additionalIcon} />
</Link>
</li>
);
}}
/>
);
}
Example #12
Source File: index.tsx From typed-react-form with MIT License | 6 votes |
function Router() {
return (
<BrowserRouter>
<Switch>
<Route path="/object-types" component={OneOfObjectForm} />
<Route path="/object-types-array" component={OneOfObjectArrayForm} />
<Route path="/custom-inputs" component={CustomInputsForm} />
<Route path="/field" component={FieldForm} />
<Route path="/" component={ExampleForm} />
</Switch>
</BrowserRouter>
);
}
Example #13
Source File: SubmitProposal.tsx From dxvote with GNU Affero General Public License v3.0 | 6 votes |
SubmitProposalPage = observer(() => {
let match = useRouteMatch();
return (
<Switch>
<Route path={`${match.path}/custom`}>
<NewProposalPage />{' '}
</Route>
<Route path={`${match.path}/contributor`}>
<ContributorProposalPage />{' '}
</Route>
</Switch>
);
})
Example #14
Source File: App.tsx From TutorBase with MIT License | 6 votes |
function App() {
return (
<BrowserRouter>
<Switch>
<Route exact path="/">
<LoginPage/>
</Route>
<Route exact path="/login">
<LoginPage/>
</Route>
<Route exact path="/signup">
<SignUpPage/>
</Route>
<Route exact path="/tutor/" >
<Dashboard mode="Tutor"/>
</Route>
<Route exact path="/tutor/*" >
<Dashboard mode="Tutor"/>
</Route>
<Route exact path="/home/" >
<Dashboard mode="Client"/>
</Route>
<Route exact path="/home/*" >
<Dashboard mode="Client"/>
</Route>
</Switch>
{/*<ToastProvider*/}
{/* placement="top-right"*/}
{/* autoDismissTimeout={3000}*/}
{/* autoDismiss={true}*/}
{/*>*/}
{/*</ToastProvider>*/}
</BrowserRouter>
);
}
Example #15
Source File: routes.tsx From NLW-3.0 with MIT License | 6 votes |
function Routes() {
return (
<BrowserRouter>
<Switch>
<Route path="/" exact component={Landing} />
<Route path="/app" component={OrphanegesMap} />
<Route path="/orphanages/create" component={CreateOrphanage} />
<Route path="/orphanages/:id" component={Orphanege} />
</Switch>
</BrowserRouter>
);
}
Example #16
Source File: index.tsx From wiregui with MIT License | 6 votes |
Routes = () => (
<HashRouter>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/new-tunnel" component={NewTunnel} />
<Route path="/tunnel/:name" component={TunnelInfo} />
</Switch>
</HashRouter>
)
Example #17
Source File: Router.tsx From GTAV-NativeDB with MIT License | 6 votes |
export default function Router() {
return (
<Switch>
<Route path="/natives/:native">
<NativesPage />
</Route>
<Route path="/natives" exact>
<NativesPage />
</Route>
<Route path="/generate-code/:language" exact>
<GenerateCodePage />
</Route>
<Route path="/generate-code" exact>
<Redirect to="/generate-code/cpp" />
</Route>
<Route path="/generate-header">
<Redirect to="/generate-code" />
</Route>
<Route path="*">
<Redirect to="/natives" />
</Route>
</Switch>
)
}
Example #18
Source File: index.tsx From shippo with MIT License | 6 votes |
SwitchRoute: React.FC<ISwitchRouteProps> = (props) => {
return (
<Routes>
{props.routes.map((routeProps) => (
<Route {...routeProps} />
))}
</Routes>
)
}
Example #19
Source File: AppRouter.tsx From react-tutorials with MIT License | 6 votes |
AppRouter: FunctionComponent = () => {
return (
<Router>
<RecoilRoot>
<Suspense fallback={<span>Loading...</span>}>
<Switch>
<Route exact path="/" component={App} />
</Switch>
</Suspense>
</RecoilRoot>
</Router>
)
}
Example #20
Source File: routes.tsx From happy with MIT License | 6 votes |
function Routes() {
return (
<BrowserRouter>
<Switch>
<Route path="/" exact component={Landing} />
<Route path="/app" component={OrphanagesMap} />
<Route path="/orphanages/create" component={CreateOrphanage} />
<Route path="/orphanages/:id" component={Orphanage} />
</Switch>
</BrowserRouter>
);
}
Example #21
Source File: index.tsx From generator-earth with MIT License | 6 votes |
// @ts-ignore 注释
ReactDOM.render(
<Provider {...Store}>
<LocaleProvider locale={zhCN}>
<HashRouter>
<Route component={App}/>
</HashRouter>
</LocaleProvider>
</Provider>
,
document.getElementById('root')
)
Example #22
Source File: ProtectedRoute.tsx From Tiquet with MIT License | 6 votes |
ProtectedRoute = ({
fetching,
isLogged,
component: Component,
...rest
}: Partial<IProps>): JSX.Element => {
return (
<Fragment>
{!fetching && (
isLogged
? <Route {...rest} render={props => <Component {...rest} {...props} />} />
: <Redirect to="/auth?mode=login" />
)
}
</Fragment>
);
}
Example #23
Source File: App.tsx From DevC-benin-jobs with GNU General Public License v3.0 | 6 votes |
App: React.FC = (): JSX.Element => {
return (
<Router>
<Switch>
<Route exact path={`/`} component={LandingPage} />
<Route path={`/${routeNames.signin}`} component={SignIn} />
<Route path={`/${routeNames.signup}`} component={SignUp} />
</Switch>
</Router>
);
}
Example #24
Source File: App.tsx From cuiswap with GNU General Public License v3.0 | 6 votes |
export default function App() {
return (
<Suspense fallback={null}>
<HashRouter>
<Route component={GoogleAnalyticsReporter} />
<Route component={DarkModeQueryParamReader} />
<AppWrapper>
<HeaderWrapper>
<Header />
</HeaderWrapper>
<BodyWrapper>
<Popups />
<Web3ReactManager>
<Switch>
<Route exact strict path="/swap" component={Swap} />
<Route exact strict path="/swap/:outputCurrency" component={RedirectToSwap} />
<Route exact strict path="/send" component={RedirectPathToSwapOnly} />
<Route exact strict path="/find" component={PoolFinder} />
<Route exact strict path="/pool" component={Pool} />
<Route exact strict path="/create" component={RedirectToAddLiquidity} />
<Route exact path="/add" component={AddLiquidity} />
<Route exact path="/add/:currencyIdA" component={RedirectOldAddLiquidityPathStructure} />
<Route exact path="/add/:currencyIdA/:currencyIdB" component={RedirectDuplicateTokenIds} />
<Route exact strict path="/remove/v1/:address" component={RemoveV1Exchange} />
<Route exact strict path="/remove/:tokens" component={RedirectOldRemoveLiquidityPathStructure} />
<Route exact strict path="/remove/:currencyIdA/:currencyIdB" component={RemoveLiquidity} />
<Route exact strict path="/migrate/v1" component={MigrateV1} />
<Route exact strict path="/migrate/v1/:address" component={MigrateV1Exchange} />
<Route component={RedirectPathToSwapOnly} />
</Switch>
</Web3ReactManager>
<Marginer />
</BodyWrapper>
</AppWrapper>
</HashRouter>
</Suspense>
)
}
Example #25
Source File: router.tsx From video-chat with MIT License | 6 votes |
export default function Router(){
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home/>}/>
<Route path="/meet" element={<Meet/>} />
</Routes>
</BrowserRouter>
)
}
Example #26
Source File: Router.Auth.tsx From companion-kit with MIT License | 6 votes |
export default function AnonRouter() {
return (
<>
<Header hasNav={false} />
<Switch>
{/* <Route exact path={Routes.SignUp} component={SignUp} /> */}
<Route exact path={Routes.SignIn} component={SignIn} />
<Route exact path={Routes.CheckYourEmailBase} component={CheckYourEmail} />
<Redirect to={Routes.SignIn} />
</Switch>
</>
);
}
Example #27
Source File: app.tsx From vorb.chat with GNU Affero General Public License v3.0 | 6 votes |
App: React.SFC = () => {
return <Router>
<ThemeProvider
options={{
primary: 'red',
secondary: 'green'
}}>
<div className="center_wrapper">
<RTCSignaling address={SIGNALING_ADDRESS} options={SIGNALING_OPTIONS}>
<ConnectionHandler>
<Switch>
<Route path="/c/:room_name">
<RoomRoute />
</Route>
<Route path="/">
<StartPage />
</Route>
</Switch>
</ConnectionHandler>
</RTCSignaling>
</div>
<Portal />
</ThemeProvider>
</Router>
}
Example #28
Source File: Routes.tsx From taskcafe with MIT License | 6 votes |
Routes: React.FC = () => {
const [loading, setLoading] = useState(true);
const { setUser } = useCurrentUser();
useEffect(() => {
fetch('/auth/validate', {
method: 'POST',
credentials: 'include',
}).then(async (x) => {
const response: ValidateTokenResponse = await x.json();
const { valid, userID } = response;
if (valid) {
setUser(userID);
}
setLoading(false);
});
}, []);
if (loading) return null;
return (
<Switch>
<Route exact path="/login" component={Login} />
<Route exact path="/register" component={Register} />
<Route exact path="/confirm" component={Confirm} />
<Switch>
<MainContent>
<Route path="/p/:projectID" component={Project} />
<UserRequiredRoute>
<Route exact path="/" component={Projects} />
<Route path="/teams/:teamID" component={Teams} />
<Route path="/profile" component={Profile} />
<Route path="/admin" component={Admin} />
<Route path="/tasks" component={MyTasks} />
</UserRequiredRoute>
</MainContent>
</Switch>
</Switch>
);
}
Example #29
Source File: MainLayout.tsx From atlas with GNU General Public License v3.0 | 6 votes |
MainLayout: React.FC = () => {
const scrollPosition = useRef<number>(0)
const location = useLocation()
const navigationType = useNavigationType()
const [cachedLocation, setCachedLocation] = useState(location)
const locationState = location.state as RoutingState
const [openDialog, closeDialog] = useConfirmationModal({
title: 'Outdated browser detected',
description:
'It seems the browser version you are using is not fully supported by Joystream. Some of the features may be broken or not accessible. For the best experience, please upgrade your browser to the latest version.',
iconType: 'warning',
primaryButton: {
text: 'Click here to see instructions',
onClick: () => window.open('https://www.whatismybrowser.com/guides/how-to-update-your-browser/auto'),
},
onExitClick: () => closeDialog(),
})
useEffect(() => {
if (isBrowserOutdated) {
openDialog()
}
}, [openDialog])
useEffect(() => {
if (location.pathname === cachedLocation.pathname) {
return
}
setCachedLocation(location)
if (locationState?.overlaidLocation?.pathname === location.pathname) {
// if exiting routing overlay, skip scroll to top
return
}
if (navigationType !== 'POP') {
scrollPosition.current = window.scrollY
}
// delay scroll to allow transition to finish first
setTimeout(() => {
window.scrollTo(0, navigationType !== 'POP' ? 0 : scrollPosition.current)
}, parseInt(transitions.timings.routing) + ROUTING_ANIMATION_OFFSET)
}, [location, cachedLocation, locationState, navigationType])
return (
<>
<CookiePopover />
<Routes>
<Route path={absoluteRoutes.embedded.video()} element={<EmbeddedView />} />
<Route path={BASE_PATHS.viewer + '/*'} element={<ViewerLayout />} />
<Route path={BASE_PATHS.legal + '/*'} element={<LegalLayout />} />
<Route path={BASE_PATHS.studio + '/*'} element={<LoadableStudioLayout />} />
<Route path={BASE_PATHS.playground + '/*'} element={<LoadablePlaygroundLayout />} />
</Routes>
<AdminOverlay />
</>
)
}