How would you navigate programmatically to a route with a parameter using useNavigate in React Router?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "navigate("/user/123");". Hook useNavigate của React Router v6 trả về hàm navigate; gọi hàm này với một chuỗi đường dẫn đã điền sẵn giá trị cụ thể như /user/123 thì router chuyển tới URL đó, route khai báo theo mẫu path="/user/:id" sẽ khớp và component đích đọc lại id bằng useParams. Dấu hai chấm chỉ dùng khi KHAI BÁO mẫu route chứ không dùng khi điều hướng, nên "navigate("/user:id");" đẩy tới đúng chuỗi ký tự /user:id, vừa thiếu dấu gạch chéo vừa không thay bằng giá trị thật. "navigate("/user?id=123");" vẫn chuyển trang được nhưng id lúc này là tham số truy vấn (query string), phải đọc bằng useSearchParams, không phải tham số route mà useParams nhận. "navigate({ path: "/user/123" });" sai vì đối tượng đích mà navigate nhận dùng khoá pathname (kèm search, hash), không có khoá path, nên đường dẫn /user/123 không được dùng tới.
Cùng phần 7
In React Router, how do you define a nested route structure within a parent component?Có lời giảiCâu hỏiHow would you extract and display multiple parameters, userId and postId, in a component?Có lời giảiCâu hỏiWhy should you avoid using too many lazy components in your application?Có lời giảiCâu hỏiCả 39 câu của chủ đề39 câu