How do you pass props to a component being rendered by a route?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở

Đáp án đúng: "Using props directly in the element prop". Trong React Router v6, Route nhận prop element là một phần tử JSX dựng sẵn, nên muốn truyền props cho component được route render thì viết thẳng chúng vào phần tử đó, ví dụ element={

Lời giải
<Profile user={
  currentUser
}
/>

}, giống hệt khi dùng component ở bất kỳ đâu. Phương án "By manually passing props via useParams" sai vì useParams chỉ đọc tham số động trên URL như id trong /users/:id, không phải kênh truyền props tùy ý. Phương án "By using component prop" là cách của React Router v5, cách này không cho truyền props trực tiếp và đã bị bỏ ở v6. Phương án "Props are passed automatically in React Router" sai vì ở v6 router không tự bơm props như history, match vào component nữa; các thông tin đó lấy bằng hook như useNavigate, useLocation, useParams.

Cùng phần 7

Xuất hiện trong 1 bộ đề