Bắt đầu nhanh chóng để sử dụng Bộ định tuyến tiếp cận trong ứng dụng React của bạn
Trong dự án cuối cùng tôi đã làm, tôi đã sử dụngTiếp cận bộ định tuyếnvà tôi nghĩ đó là cách đơn giản nhất để định tuyến trong ứng dụng React.
Tôi nghĩ nó dễ dàng hơn nhiều so vớiBộ định tuyến React, là một bộ định tuyến khác mà tôi đã sử dụng trong quá khứ.
Dưới đây là một hướng dẫn 5 phút để có được những kiến thức cơ bản về nó.
Cài đặt
Trước tiên, hãy cài đặt nó bằng cách sử dụng
npm install @reach/router
Nếu
@
cú pháp mới đối với bạn, đó là một tính năng npm để cho phép một gói có phạm vi. Nói cách khác, một không gian tên.
Tiếp theo, nhập nó vào dự án của bạn.
import { Router } from '@reach/router'
Cách sử dụng cơ bản
Tôi sử dụng nó trong tệp React cấp cao nhất,index.js
trong mộttạo-phản ứng-ứng dụngcài đặt, gói tất cả các thành phần mà tôi muốn xuất hiện:
ReactDOM.render(
<Router>
<Form path="/" />
<PrivateArea path="/private-area" />
</Router>,
document.getElementById('root')
)
Cácpath
thuộc tính tôi thêm vào các thành phần cho phép tôi thiết lập đường dẫn cho chúng.
Nói cách khác, khi tôi nhập đường dẫn đó vào thanh URL của trình duyệt, Bộ định tuyến tiếp cận sẽ hiển thị thành phần cụ thể đó cho tôi.
Các/
path là đường dẫn chỉ mục và hiển thị khi bạn không đặt URL / đường dẫn bên cạnh miền ứng dụng. Nói cách khác là “trang chủ”.
Tuyến đường mặc định
Khi người dùng truy cập một URL không khớp với bất kỳ tuyến đường nào, theo mặc định, Reach Router sẽ chuyển hướng đến/
lộ trình. Bạn có thể thêm mộtdefault
định tuyến để xử lý trường hợp này và thay vào đó hiển thị thông báo “404” đẹp:
<Router>
<Form path="/" />
<PrivateArea path="/private-area" />
<NotFound default />
</Router>
Thay đổi tuyến đường theo chương trình
Sử dụngnavigate
có chức năng thay đổi tuyến đường theo chương trình trong ứng dụng của bạn:
import { navigate } from '@reach/router'
navigate('/private-area')
Liên kết đến các tuyến đường trong JSX
Sử dụngLink
để liên kết đến các tuyến đường của bạn bằng JSX:
import { Link } from '@reach/router'
<Link to="/">Home</Link>
<Link to="/private-area">Private Area</Link>
Tham số URL
Thêm thông số bằng cách sử dụng:param
cú pháp:
<Router>
<User path="users/:userId" />
</Router>
Bây giờ trong thành phần Người dùng giả định này, chúng ta có thể nhận đượcuserId
như một chỗ dựa:
const User = ({ userId }) => (
<p>User {userId}</p>
)
Các tuyến đường lồng nhau
Tôi đã chỉ cho bạn cách các tuyến đường có thể được xác định theo cách này trong tệp React cấp cao nhất của bạn:
<Router>
<Form path="/" />
<PrivateArea path="/private-area" />
</Router>
Bạn có thể xác định các tuyến đường lồng nhau:
<Router>
<Form path="/" />
<PrivateArea path="/private-area">
<User path=":userId" />
</PrivateArea>
</Router>
Vì vậy, bây giờ bạn có thể có/private-area/23232
điểm liên kết đến thành phần Người dùng, chuyểnuserId
23232
.
Bạn cũng có thể chọn cho phép một thành phần xác định các tuyến đường riêng bên trong nó. Bạn sử dụng/*
ký tự đại diện sau tuyến đường:
<Router>
<Form path="/" />
<PrivateArea path="/private-area/*" />
</Router>
sau đó bên trong thành phần, bạn có thể nhập lại Bộ định tuyến và xác định tập hợp các tuyến con của riêng nó:
//component PrivateArea
<Router>
<User path="/:userId" />
</router>
Mọi tuyến đường sử dụng/private-area/something
sẽ được xử lý bởi thành phần Người dùng và phần sau tuyến sẽ được gửi nhưuserId
chỗ dựa.
Để hiển thị một cái gì đó trong/private-area
tuyến đường bây giờ bạn cũng cần thêm một/
xử lý trongPrivateArea
thành phần:
//component PrivateArea
<Router>
<User path="/:userId" />
<PrivateAreaDashboard path="/" />
</router>
Tải xuống miễn phí của tôiSổ tay React
Các hướng dẫn về phản ứng khác:
- Ví dụ về ứng dụng React đơn giản: tìm nạp thông tin người dùng GitHub qua API
- Tạo một bộ đếm đơn giản với React
- Thiết lập mã VS để phát triển React
- Cách chuyển các đạo cụ cho một thành phần con thông qua React Router
- Tạo ứng dụng với Electron và React
- Hướng dẫn: tạo Bảng tính bằng React
- Lộ trình học React
- Tìm hiểu cách sử dụng Redux
- Bắt đầu với JSX
- Các thành phần được tạo kiểu
- Giới thiệu về Redux Saga
- Giới thiệu về React Router
- Giới thiệu về React
- Các thành phần React
- DOM ảo
- Sự kiện React
- Trạng thái phản ứng
- React Props
- Phân đoạn phản ứng
- API ngữ cảnh phản ứng
- React PropTypes
- Các khái niệm phản ứng: khai báo
- React: Cách hiển thị một thành phần khác khi nhấp chuột
- Cách lặp lại bên trong React JSX
- Props so với State trong React
- Bạn nên sử dụng jQuery hay React?
- Bạn cần biết bao nhiêu JavaScript để sử dụng React?
- Giới thiệu về Gatsby
- Cách tham chiếu phần tử DOM trong React
- Luồng dữ liệu một chiều trong React
- React Các thành phần thứ tự cao hơn
- Sự kiện vòng đời phản ứng
- Khái niệm React: Tính bất biến
- Khái niệm React: Độ tinh khiết
- Giới thiệu về React Hooks
- Giới thiệu về ứng dụng tạo-phản ứng
- Khái niệm React: Thành phần
- React: Các thành phần trình bày so với vùng chứa
- Tách mã trong React
- Kết xuất phía máy chủ với React
- Cách cài đặt React
- CSS trong React
- Sử dụng SASS trong React
- Xử lý các biểu mẫu trong React
- Chế độ phản ứng nghiêm ngặt
- Cổng phản ứng
- React Render Props
- Kiểm tra các thành phần React
- Cách chuyển một tham số cho các trình xử lý sự kiện trong React
- Cách xử lý lỗi trong React
- Cách trả về nhiều phần tử trong JSX
- Kết xuất có điều kiện trong React
- React, cách chuyển đạo cụ sang các thành phần con
- Cách lấy giá trị của một phần tử đầu vào trong React
- Cách sử dụng hook useState React
- Cách sử dụng useCallback React hook
- Cách sử dụng useEffect React hook
- Cách sử dụng useMemo React hook
- Cách sử dụng hook useRef React
- Cách sử dụng hook useContext React
- Cách sử dụng useReducer React hook
- Cách kết nối ứng dụng React của bạn với một chương trình phụ trợ trên cùng một nguồn gốc
- Hướng dẫn tiếp cận bộ định tuyến
- Cách sử dụng Công cụ dành cho nhà phát triển React
- Cách học React
- Cách gỡ lỗi ứng dụng React
- Cách hiển thị HTML trong React
- Cách sửa lỗi không khớp với `` risklySetInnerHTML '' trong React
- Cách tôi khắc phục sự cố với trạng thái biểu mẫu đăng nhập React và tính năng tự động điền của Trình duyệt
- Cách định cấu hình HTTPS trong ứng dụng React trên localhost
- Cách khắc phục lỗi "không thể cập nhật một thành phần trong khi hiển thị một thành phần khác" trong React
- Tôi có thể sử dụng React hooks bên trong một điều kiện không?
- Sử dụng useState với một đối tượng: cách cập nhật
- Cách di chuyển xung quanh các khối mã với React và Tailwind
- Phản ứng, tập trung một mục trong React khi được thêm vào DOM
- Phản ứng, chỉnh sửa văn bản trên doubleclick