Chào Anh Chị, em mới học lập trình web và đang thực hành viết website bán hàng tương tự như https://shopee.vn. Trang này có rất nhiều liên kết, mỗi sản phẩm có liên kết riêng và dẫn đến một trang html riêng.
Cho em hỏi ngoài React còn có công cụ nào để hỗ trợ mình không cần tạo ra từng file html riêng cho từng sản phẩm không ạ. Vì các trang này đều có chung structure (banner-top-nav-content-footer). Vì nếu không thì sẽ copy paste hàng trăm lần, chưa kể mỗi lần điều chỉnh cũng sẽ mất rất nhiều thời gian. Em có dùng thử ReactRouter nhưng React khá nặng nên em tìm một công cụ nào đó nhẹ hơn. Em cảm ơn AC.
Viết code template layout cho web
Nếu chỉ ở mức độ vừa thì mình suggest Laravel , hỗ trợ tất tần tật nha bạn
Cảm ơn AC SuperFrankie nhiều ạ. Em chưa học tới PHP, hic. Có thư viện nào của JS không ạ?
Nói thật bạn đừng buồn ! Câu hỏi thiếu kiến thức cơ bản về web.
Trang web cỡ shopee thì mình chắc chắn không có một file tĩnh html nào cả.
React không phải một công cụ, nó là một thư viện của JS. câu hỏi này có nghĩ là bạn chưa học JS.
để làm web bán hàng bạn nên học kỹ hơn về phần back-end. Với câu hỏi của bạn thì Front-End chưa vững HTML, CSS, JS thì đừng vội xài ReactJS làm gì. Mình đoán bạn dùng ReactJS chỉ dừng lại ở mức tạo các class với mục địch sử dụng Router để ghép các component với nhau phải không ?
Back-end : bạn nên học Java Servlet, Spring, ASP.net, Laravel, … thì bạn sẽ tự hiểu nên làm layout như thế nào.
Cho mình hỏi bạn học trường nào vậy ? Với câu hỏi này mình đoán 70% là bạn đang học IT ở ĐH Nông Lâm HCM. nếu đúng thì 90% là mới học xong môn Giao tiếp người máy và 99% đang học lập trình web
P/S : Ngoài ReactJS thì còn rất nhiều framework nhé : angular, VueJS, Ember.js, …
Cảm ơn bạn. Học trường nào không quan trọng, có người học xong trường top vẫn thất nghiệp, thậm chí ăn cướp. tùy người. Còn câu hỏi của mình chỉ đề cập đến chuyên môn lập trình, mình không biết mình hỏi. Bạn đừng phán xét trường Nông Lâm hay bất cứ trường khác vì chưa chắc bạn đã giỏi hơn hay thành công hơn sinh viên Nông Lâm hay trường khác.
@vanminhquangtri ủa làm gì tự nhiên gắt với mình vậy bạn ? Mình cũng đang học IT ở Nông Lâm HCM, hỏi xem có phải không thôi, có khi lại cùng trường, cùng khoa
vậy chúc bạn học tốt, mình tự học, cảm ơn bạn
okie bạn, chúc bạn học tốt, cơ mà bạn đúng là đang học IT ở Nông Lâm ?
các page html đó là file cached do 1 cái nào đó tạo ra nha
ví dụ shopee có 100 sản phẩm, khi vừa chạy thì giả sử chưa có file html nào cả.
rồi ai đó xem sản phẩm thứ 1 thì cái nào đó sẽ render ra html page cho sản phẩm thứ 1 để lần sau có người khác truy cập khỏi render nữa.
cái này mấy framework đều có, lâu rồi Hà Mã Tím đáng yêu ko làm laravel nữa nên ko nhớ nhưng nó có đó
không bạn, mình tự học trên mạng.
Cảm ơn bạn nhiều mình sẽ nghiên cứu thêm
Trang này có rất nhiều liên kết, mỗi sản phẩm có liên kết riêng và dẫn đến một trang html riêng.
Trang HTML riêng có template chung này được tạo ra từ phía back-end, ví dụ PHP.
Sau khi học xong PHP (hoặc 1 ngôn ngữ back-end nào khác) bạn sẽ biết cách làm.
Nếu chỉ dùng HTML thôi thì mình nói ngắn gọn là không được.
Bạn hãy thay đổi cách tư duy 1 chút:
Thay vì:
Tôi đang học HTML, gặp vấn đề copy paste hàng trăm lần, tôi muốn giải quyết nó nhưng chưa muốn đụng đến PHP.
Hãy thay đổi thành như sau:
Tôi đang học HTML, gặp vấn đề copy paste hàng trăm lần, mọi người đã giải quyết nó ra sao?
→ Mọi người đã sử dụng một ngôn ngữ back-end (ví dụ PHP) để giải quyết vấn đề đó.
Túm lại là để làm được cái bạn muốn, cần sử dụng một ngôn ngữ phía back-end.
cảm ơn bạn nhiều nhé
cảm ơn bạn nhiều nhé, mình sẽ nghiên cứu thêm
Thật ra một số javascript framework/library như Vue, React, Angular cũng hỗ trợ bạn làm được như vậy,
tuy nhiên nó không phù hợp với người đang chập chững học làm web.
Bạn nên học HTML/CSS/JS và 1 ngôn ngữ back-end nào đó trước,
sau khi nắm được cách vận hành cơ bản của 1 trang web rồi thì mới nên học tới Vue, React, Angular.
cảm ơn bạn nhiều nha
Stop chủ đề được rồi đó MOD ơi. Bạn trẻ đã “anh đi xa quá, anh đi luôn nhá”. Làm ơn học căn bản về cách thức một trang web, website hoạt động thế nào, và nắm 2 khái niệm: web tĩnh, web động. Chưa học bò đã lo học chạy, ngã sấp mặt đó thanh niên.
@vanminhquangtri Mình hiểu vấn đề của bạn rồi.
Hiện tại bạn đang nghĩ mỗi page bạn nhìn thấy trên browser là 1 file HTML riêng lẻ. Mỗi lần bạn click vào một button hay một link trong file HTML này thì nó sẽ chuyển sang file HTML khác. Mình biết bạn đang nghĩ như ví dụ dưới đây.
VD : đây là trang home.html
Sau khi click vào 1 câu hỏi thì browser sẽ chuyển sang trang
cauhoi.html
là trang nàyNhưng THẬT SỰ KHÔNG PHẢI NHƯ VẬY.
Như bạn đang dùng ReactJS thì phần Navigation bar của 2 page chỉ code 1 lần và đặt nó là 1 component dùng cho cả website.
VD :
<NavigationBar/>
<các thành phần nội dung web sẽ được ReactRouter điều hướng thay đổi tại đây/>
<Footer/>
Các framework Backend khác cũng như vậy.
VD : browser bạn request trang home thì server sẽ trả về trang như này
@Nagivation
@home
@Footer
khi bạn click vào câu hỏi thì server sẽ trae về như này
@Nagivation
@Cauhoi1
@Footer
===> @Nagivation
và @Footer
chỉ viết 1 lần
Mình đang ví dụ trên ASP,net core MVC không biết có sai sót gì không, với các framework khác hoạt động như nào, nhờ các bác bên dưới chỉ bảo thêm
Cảm ơn bạn nhiều nhé, ReactJS thì mình hiểu và đã làm được rồi, dùng cái Router. Mình chỉ đang tham khảo xem có cách nào nhanh hơn ngoài việc bưng cả một framework vào không í.