React JS의 라우팅
24902 단어 webdevreactjavascript
React Router는 React에서 라우팅을 위한 표준 라이브러리입니다. React 애플리케이션의 다양한 구성 요소 보기 간 탐색을 활성화하고 브라우저 URL을 변경할 수 있으며 UI를 URL과 동기화 상태로 유지합니다.
먼저 터미널에 다음 명령을 입력하십시오.
npm install --save react-router-dom reactstrap bootstrap
그런 다음 필요한 모듈을 가져올 것입니다.
import React,{useState} from 'react'
import {Navbar,NavbarBrand,Nav,NavItem,NavLink,Collapse,NavbarToggler} from 'reactstrap';//importing react-strap components
import {BrowserRouter as Router,Link,Route,Routes} from 'react-router-dom';//importing routing elements
먼저 라우팅에 사용할 HOME, ABOUT 및 CONTACT 페이지에 대한 세 가지 기능을 만듭니다.
/Home page function
function Home() {
return <h1 className="text-center display-3 text-primary">This is Home Page</h1>
}
//About page function
function About() {
return <h1 className="text-center display-3 text-success">This is About Page</h1>
}
//Contact page function
function Contact() {
return <h1 className="text-center display-3 text-danger">This is Contact Page</h1>
}
그런 다음 라우터 구성 요소를 탐색 표시줄의 진입점으로 사용합니다.
<Router>
//your navbar
</Router>
그런 다음 react-strap을 사용하여 navbar를 생성합니다.
<Navbar dark color="faded" className="text-dark" style={{backgroundColor:"#1F2833"}}>
<NavbarBrand style={{color:"peachpuff",fontSize:"3rem"}}>
Coder Academy
</NavbarBrand>
<NavbarToggler onClick={isToggle} />
<Collapse isOpen={toggle} navbar>
<Nav navbar className="text-center">
<NavItem>
<NavLink style={Links}>
<Link to="/">Home</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink style={Links}>
<Link to="/about">About</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink style={Links}>
<Link to="/contact">Contact</Link>
</NavLink>
</NavItem>
</Nav>
</Collapse>
</Navbar>
Link 태그를 사용하여 링크를 래핑한 것을 알고 계셨습니까?
그것은 링크를 클릭할 때 링크가 취할 경로를 가리키는 반응 라우터 구성 요소입니다.
Link 태그는 이렇게 사용할 수 있습니다.
<Link to="/">Home</Link>
여기에서 'to' 속성은 링크를 통해 이동할 URL을 가리키는 데 사용됩니다.
다음으로 Switch 태그를 사용하여 링크를 사용하여 일부 경로로 라우팅할 때 표시되는 구성 요소를 제공합니다.
Routes 태그를 사용하는 방법은 다음과 같습니다.
<Routes>
<Route exact path="/"
element={<Home />} />
<Route path="/about"
element={<About />} />
<Route path="/contact"
element={<Contact />} />
</Routes>
전체 코드는 다음과 같습니다.
import React,{useState} from 'react'
import {Navbar,NavbarBrand,Nav,NavItem,NavLink,Collapse,NavbarToggler} from 'reactstrap';//importing react-strap components
import {BrowserRouter as Router,Link,Route,Switch} from 'react-router-dom';//importing routing elements
//Styling the Links
const Links = {
color:"palevioletred",
fontSize:"2.5rem",
margin:"2rem 0",
fontWeight:"600",
}
//Home page function
function Home() {
return <h1 className="text-center display-3 text-primary">This is Home Page</h1>
}
//About page function
function About() {
return <h1 className="text-center display-3 text-success">This is About Page</h1>
}
//Contact page function
function Contact() {
return <h1 className="text-center display-3 text-danger">This is Contact Page</h1>
}
function ReactStrap() {
const [toggle, setToggle] = useState(false);
const isToggle = () => setToggle(!toggle);
return (
<div>
<Router>
<Navbar dark color="faded" className="text-dark" style={{backgroundColor:"#1F2833"}}>
<NavbarBrand style={{color:"peachpuff",fontSize:"3rem"}}>
Coder Academy
</NavbarBrand>
<NavbarToggler onClick={isToggle} />
<Collapse isOpen={toggle} navbar>
<Nav navbar className="text-center">
<NavItem>
<NavLink style={Links}>
<Link to="/">Home</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink style={Links}>
<Link to="/about">About</Link>
</NavLink>
</NavItem>
<NavItem>
<NavLink style={Links}>
<Link to="/contact">Contact</Link>
</NavLink>
</NavItem>
</Nav>
</Collapse>
</Navbar>
<Routes>
<Route exact path="/"
element={<Home />} />
<Route path="/about"
element={<About />} />
<Route path="/contact"
element={<Contact />} />
</Routes>
</Router>
</div>
)
}
export default ReactStrap
이 게시물을 확인해 주셔서 감사합니다.
^^ 아래 링크에서 기부로 저를 도울 수 있습니다 감사합니다👇👇 ^^
☕ --> https://www.buymeacoffee.com/waaduheck <--
이 게시물도 확인하십시오.
Reference
이 문제에 관하여(React JS의 라우팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shubhamtiwari909/routings-in-react-js-12h1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)