Đầy là cách làm phù hợp nhất đối với trường hợp của bạn vì nếu bạn lưu thông tin về role của user ở localStorage thì user đó hoàn toàn có thể bật f12 lên và chỉnh sửa role này để truy cập vào các view bạn không mong muốn
Đây là một trong những tính năng khi bạn sử dụng Server Side Rendering hay chính là NextJS với React nhé. Với giả sử khi lần đầu bạn truy cập vào môt trang bất kì thông qua url thì bên server đã thực hiện toàn bộ việc gọi các API cần thiết để có thể render ra một trang html đầy đủ thông tin và trả về cho bạn trong đó bao gồm cả việc gọi các API cần thiết để lấy giữ liệu. Chính vì thế khi bạn nhận lại trang sẽ không thấy các API request này được gọi nữa. Ví dụ ở đây:
Bạn thử click chuột vào tên mình ở bên tay phải để được chuyển hướng sang trang profile của mình và bạn theo dõi request sẽ thấy điều kì diệu ).
Nếu như vậy thì thành ra tương ứng với mỗi lần request, đều phải gọi API để lấy thông tin current_user về?. Sẵn câu trả lời này thì mình hỏi thêm luôn 1 câu liên quan, giả sử khi mình xem profile của một thành viên. Chỗ này tức là mình sẽ goi lên API để get thông tin của user có ID đó về. Nhưng nhiều web mình lại không thấy bất kỳ request XHR nào nhằm mục đích đó cả . Ví dụ ngay viblo. Vậy các mà ho xử lý ở chỗ này là như thế nào? TRong nhiều trường hợp mình cũng muốn ẩn API như vậy
Trước mắt thì mình cũng định hình được là các router path đều phải config lại. Cấu trúc cũng phải thay đổi cho phù hợp với Nextjs. Mình lo là mấy cái package trước đây không biết có sử dụng được không?
Hi @thanhduybk,
Khi mình thực hiện thay đổi một DOM node cụ thể nào đó, các nodes trong DOM Tree sẽ được revalidated và dimensions-recalculating, quá trình này gọi là reflow, sau đó thì chúng sẽ được repaint (redraw) để update ra màn hình.
Việc reflow hoặc repaint DOM này có thể được trigger bởi những actions như thêm, xóa, sửa; ẩn khỏi màn hình, thực hiện animate với các DOM nodes nha ^^
em muốn hỏi là trong quá trình lai ghép nếu cha hoặc mẹ đã tối ưu rồi mà mình vẫn lại ghép thì có vẻ chưa hợp lý lắm ạ ? có cách nào để xử lý vấn đề này không ạ ? em cảm ơn ạ !
à hàm setTimeout() là hàm thực chất nó là hàm thuộc về Web APIs hay bạn có thể hiểu nó là hàm do browser cung cấp chứ không phải làm hàm của javasciprt còng console.log() là hàm thuộc javascript nhé
Bạn ơi, tại sao hàm setTimeout lại phải đưa vào trong Web APIs còn hàm console.log thì không vậy, và những hàm như thế nào thì sẽ được đưa vào Web APIs vậy?
Chào bạn, theo như bạn đề cập ở trên, "... Vì cấu trúc của DOM là tree structure , khi muốn thay đổi các element và các thẻ con của nó, ta phải thông qua các Reflow/Layout. Từ đó, các thay đổi được sẽ được re-painted ..." mình có thể hiểu là nó sẽ tiền hành duyệt từ root của DOM tree, và update/reload lại tất cả các phần tử mà quá trình duyệt đi qua cho tới khi reach to phần tử cần update, hay nó sẽ thực hiện update/reload lại toàn bộ cây DOM ạ ???
THẢO LUẬN
K có gì đâu bạn, kiến thức là chia sẻ mà
có khá ít tài liệu tiếng việt hướng dẫn về django rest framework
Code siêu, oánh cầu suýt siêu giờ Híu lại còn biết test nữa (nguongmo)
dmm .
@huuhung96
Bạn thử click chuột vào tên mình ở bên tay phải để được chuyển hướng sang trang profile của mình và bạn theo dõi request sẽ thấy điều kì diệu
).
Cảm ơn bạn đã quan tâm tới câu hỏi của mình.
@HuyDQ Hiện tại là đúng như vậy đó bạn. Mình đang lưu 2 key, 1 key là token, 1 key là object user chứa các thông tin cần thiết để lấy ra hiển thị
bạn lưu toàn bộ thông tin user và token ở localStorage đúng không ??
@HuyDQ Mình đang dùng token á bạn. JWT
Bạn đang dùng React theo kiểu auth bằng token hay là theo kiểu session/cookie dùng rever-proxy trên cùng 1 domain nhỉ ??
Hi @thanhduybk, Khi mình thực hiện thay đổi một DOM node cụ thể nào đó, các nodes trong DOM Tree sẽ được revalidated và dimensions-recalculating, quá trình này gọi là reflow, sau đó thì chúng sẽ được repaint (redraw) để update ra màn hình. Việc reflow hoặc repaint DOM này có thể được trigger bởi những actions như thêm, xóa, sửa; ẩn khỏi màn hình, thực hiện animate với các DOM nodes nha ^^
bài viết hay ạ
Em có thử mà sao bị lỗi vậy anh, lỗi hình ảnh thumbail khi đăng bài lên facebook ko hiển thị https://happylukevi.com
Cảm ơn anh. Chỉ riêng ghi danh pháp của XS-TK bằng tiếng Anh, rồi link những kiến thức cơ bản đó với Machine Learning, là quý lắm rồi!!!!
em muốn hỏi là trong quá trình lai ghép nếu cha hoặc mẹ đã tối ưu rồi mà mình vẫn lại ghép thì có vẻ chưa hợp lý lắm ạ ? có cách nào để xử lý vấn đề này không ạ ? em cảm ơn ạ !
à hàm
setTimeout()là hàm thực chất nó là hàm thuộc về Web APIs hay bạn có thể hiểu nó là hàm do browser cung cấp chứ không phải làm hàm của javasciprt còngconsole.log()là hàm thuộc javascript nhéBạn ơi, tại sao hàm setTimeout lại phải đưa vào trong Web APIs còn hàm console.log thì không vậy, và những hàm như thế nào thì sẽ được đưa vào Web APIs vậy?
Hay ghê. Thanks bạn nhé
Chào bạn, theo như bạn đề cập ở trên, "... Vì cấu trúc của DOM là tree structure , khi muốn thay đổi các element và các thẻ con của nó, ta phải thông qua các Reflow/Layout. Từ đó, các thay đổi được sẽ được re-painted ..." mình có thể hiểu là nó sẽ tiền hành duyệt từ root của DOM tree, và update/reload lại tất cả các phần tử mà quá trình duyệt đi qua cho tới khi reach to phần tử cần update, hay nó sẽ thực hiện update/reload lại toàn bộ cây DOM ạ ???
@HuyDQ hiện mình đang làm ở local bạn ạ