2016-03-29 19 views
29

Tôi đã googled khá một chút, nhưng tôi đã không tìm thấy một câu trả lời rõ ràng cho câu hỏi sau: sự khác biệt giữa hashHistory và browserHistory trong phản ứng-router là gì?Sự khác biệt giữa hashHistory và browserHistory trong bộ định tuyến phản ứng là gì?

+1

Xem tài liệu về bộ phản ứng-bộ định tuyến tại đây: https://github.com/reactjs/react-router/blob/master/docs/API.md#browserhistory (và mục nhập cho lịch sử băm bên dưới) –

+0

[React- tài liệu về bộ định tuyến] (https://github.com/reactjs/react-router/blob/master/docs/guides/Histories.md#browserhistory) có thông tin khá tốt về sự khác biệt. Tài liệu cũng sẽ tuân theo các thay đổi của API, vì vậy việc tư vấn cho những người thay vì giải thích nhanh chóng ở đây sẽ là tốt nhất. – markthethomas

+0

Vì hai bình luận trước đó, tài liệu đã di chuyển. Hãy thử ở đây: https://github.com/ReactTraining/react-router/blob/v3/docs/guides/Histories.md –

Trả lời

32

Sự khác biệt cơ bản là hashHistory sử dụng các URL như: http://myurl.com/#page/another_page/another_page url bình thường

Với BrowserHistory bạn nhận được (không băm): http://myurl.com/page/another_page/another_page

+6

Lợi ích hoặc hạn chế (nếu có) cho Url hashHistory này là gì? – Rob

+0

Trình duyệt có thể được sử dụng để duy trì khả năng liên kết trình duyệt liên kết không? Tôi đã thử phương pháp này trên bộ định tuyến của tôi https://github.com/ReactTraining/react-router/issues/394#issuecomment-220221604 và chế độ xem được hiển thị lại trên mỗi nhấp chuột neo – BigDong

+0

Nhìn vào bài đăng này. Tôi nghĩ rằng đây là những gì bạn đang tìm kiếm: http://stackoverflow.com/a/40280486/217187. Nhưng câu trả lời xuất hiện là có. – smcdrc

2

Tôi không nghĩ rằng câu hỏi đã được hỏi về sự khác biệt trong định dạng , nhưng đúng hơn là kỹ thuật. Do đó chia sẻ câu trả lời này ở đây với một sự khác biệt kỹ thuật: https://stackoverflow.com/a/42157741/2445694

Về cơ bản trình duyệt không gửi url sau khi #

Vì vậy, giả sử rằng một trang web khu vực cho các thành viên và quản trị viên bị hạn chế. Người dùng điều hướng đến/thành viên và được nhắc đăng nhập. Tuy nhiên, máy chủ sẽ không biết liệu người dùng có đang truy cập/admin hoặc/thành viên trước khi vào trang đăng nhập hay không, vì vậy sau khi đăng nhập vào máy chủ thì không biết nơi để chuyển hướng.

1

1) Mảng vị trí của lịch sử trình duyệt không chỉ chứa các vị trí đã được truy cập trong ứng dụng của chúng tôi. Việc cho phép truy cập vào danh sách này sẽ làm rò rỉ thông tin về lịch sử duyệt web của người dùng mà các trang web không được phép truy cập.

2) Lịch sử trình duyệt tạo đối tượng vị trí có tên đường dẫn là tên đường dẫn đầy đủ của URL. Tuy nhiên, bạn có thể chỉ định tên cơ sở cho lịch sử, trong trường hợp đó một phần của tên đường dẫn đầy đủ sẽ bị bỏ qua một cách hiệu quả.

3) Lịch sử trình duyệt trong máy chủ tệp tĩnh sẽ có một vị trí thực trên máy chủ của chúng tôi để tìm nạp HTML của chúng tôi trong khi lịch sử Hash sử dụng phần băm của URL để đặt và đọc vị trí.

4) Lịch sử băm phụ thuộc khi lưu trữ tất cả thông tin đường dẫn trong giá trị băm của URL.

Các vấn đề liên quan