Home  >  Article  >  Web Front-end  >  What are the common components of react routing?

What are the common components of react routing?

青灯夜游
青灯夜游Original
2022-03-21 18:17:112404browse

Commonly used components of react routing are: 1. BrowserRouter, set the routing mode to history; 2. HashRouter, set the routing mode to hash; 3. NavLink; 4. Link; 5. Redirect; 6. Route; 7. withRouter and so on.

What are the common components of react routing?

The operating environment of this tutorial: Windows7 system, react17.0.1 version, Dell G3 computer.

React routing provides a detailed explanation of commonly used components

Components and their functions:


ComponentFunction
Routing modeBrowserRouterThe agreed mode is history, Use the history API provided by HTML5 to keep the UI and URL synchronized
Routing modeHashRouterThe agreed mode is hash, use the hash of the URL to Keep UI and URL synchronized
Declarative jumpNavLinkDeclarative jump can also agree on route activation status
Declarative jumpLinkDeclarative jump has no active status
RedirectRedirectRedirect~~ replace
Match and display Route Match the component and display the component. That is, after a successful match, the component is immediately replaced with the matching component
Exclusive MatchSwitchExclusive Match. If you don't want to use inclusiveness, then use Switch.
High-order componentswithRouterIn components that are not switched through routing, pass the three objects history, location, and match into props On the object (higher-order component)

Structure

  • BrowserRouter|HashRouter

    App (or other component)

    • NavLink|Link
    • Route
    • Redirect
      • Subcomponent
        • NavLink|Link
        • Route

##BrowserRouter

AttributeTypeFunctionbasenamestringBase URL for all locations. If your app is served from a subdirectory on the server, you need to set it up as a subdirectory. A well-formed base name should start with a slash but not end with a slashgetUserConfirmationFunctionThe function used to confirm navigation. By default,
window.confirm is used.

Route

##Attributespathexactcomponentrender

Link

TypeFunction
string |objectRoute matching path. A Route without a path attribute will always match
boolean. When true, full path matching (/home) is required. Routes are "included" by default (both / and /home match), which means multiple Routes can be matched and rendered at the same time
Function |component The React component will be rendered when the address matches, and the route props will also be rendered together
FunctionInline rendering and wrapping components require calls to return the target component
AttributeTypeFunction
tostring | Object {pathname:,search:,hash:}The path or address to jump
replacebooleanWhether to replace the history record

##NavLink

AttributeTypeFunction##toreplaceactiveClassNameactiveStyle
string| Object {pathname:,search:,hash:}The path or address to be jumped
boolean Whether to replace the history record
stringWhen the element is selected, set the selection style, the default value is active
objectWhen the element is selected, set the selected style
Switch

This component is used to render the first Route or Redirect of the matching address, only render one route, exclusive route, full matching by default (scenario: sidebar, guide tab, etc.)

Attribute##location string objectnodeRedirect
TypeFunction

##children

This component is used to render the first Route or Redirect that matches the address. It only renders one route, exclusive route, and default full match (scenario: sidebar and breadcrumbs, boot tabs, etc.

AttributesTypefromstringstring objectbooleanbooleanboolean [Related recommendations: Redis video tutorial]
Function
fromto
Where topush
Add historyexact
Strict matchsensitive
Case sensitive

The above is the detailed content of What are the common components of react routing?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn