@tomhagen nếu bạn truy cập vào bằng IP và inspect lên sẽ thấy nó vẫn nhận nội dung của build từ React đó bạn. Và thông thường mình chỉ dùng port 5000 hoặc các port khác ở môi trường dev thôi còn khi lên server thì bạn chỉ nên dùng port 80 hoặc 443 vì một số lý do bảo mật vì thế mình nghĩ bạn nên cài thêm nginx và dùng port 80. Còn nếu bạn vẫn muốn dùng port 5000 thì bạn vẫn cần cai nginx. Sau đó bạn mở folder /etc/nginx/sites-available/ và tạo 1 file my-site.conf có nội dung như sau:
server {
listen 5000;
root [đường dẫn đến folder build của React];
index index.html;
}
Còn thằng Welcome to news Project như hình mình hỏi là sau khi thử với index build từ React không được, mình mới xóa hết để vào đó file index.html tự tạo với nội dung đơn giản như vậy thôi để test, tuy nhiên cũng không thấy gì hiển thị ra luôn. ( xem localhost thì đc )
Đúng rồi bạn, sau khi chạy build từ React, mình copy hết đống này bỏ qua thư mục public ( thư mục được serve đến ) trong đó có có file index.html.
Do mình sử dụng React làm view nên làm cách đó, không biết vậy sai hay có cách nào khác vậy bạn ?
Mấy năm nay e thấy ML và blockchain cũng khá là nổi, mọi người cũng đổ xô đi học, job nhiều hơn và mặt bằng chung là lương cao hơn hội fullstack bọn e , e cũng từng thử với blockchain vào ĐATN, nhưng sau đó ko thực sự thâý hứng thú, còn với ML/Data mining,...e cũng thấy mình ko hợp với hướng đó, và vẫn xác định là mình chỉ tập trung vào cái e đang theo đuổi chủ yếu là web/server thôi anh ạ.
Bài viết khiến người đọc lẫn lộn giữa các khái niệm và mục đích của chúng, gây hoang mang cho người mới bắt đầu.
Thứ nhất là mục đích của Hooks chưa bao giờ để thay thế Redux, bản chất của Hooks và Redux giải quyết các bài toán hoàn toàn khác nhau.
Hooks Api mục đích là để giúp cho các Function Component có thể dùng state và life cycle như là Class Component => hoàn toàn là LOCAL STATE. Ngoài ra custom hooks giúp chia logic nhỏ hơn và có thể tái sử dụng logic (custom hooks mục tiêu là thay thế hoàn toàn HOC và render props). Hooks api cũng giúp một số cái trước kia viết dài dòng theo kiểu render props có thể trở nên gọn hơn, xin nhắc lại chỉ là cách viết trở nên gọn hơn, tính năng vẫn vậy, như là Context, Redux cũng đã có api theo kiểu hooks.
Trong khi đó mục đích của Redux là để quản lý GLOBAL STATE.
Thứ hai, cái mà người ta hay nói có thể thay thế Redux là Context, thực chất nó không thể thay thế Redux. Bản chất Redux đã sử dụng Context bên trong, và đã tối ưu rất nhiều cho người dùng rồi. Trong docs của React cũng đã nói các trường hợp có thể dùng Context APIs. Đối với Context, Provider của nó có 10 biến, và có 10 component khác nhau, mỗi component consume 1 biến, thì khi chỉ một biến trong 10 biến đó thay đổi, cả 10 component đều sẽ RE-RENDER. Các bạn có thể tự kiểm tra, hoặc xem video này (https://www.youtube.com/watch?v=5gUHfe-ETuo)
Package này có một issue là hình mã QR code có thể sẽ bị gấp đôi kích thước khi hiển thị trên macbook do liên quan đến màn hình retina (https://github.com/zpao/qrcode.react/issues/86).
Nên mình đã tự folk về rồi fix cứng lại thông số, rồi public thành cmn một package khác, dù không biết có vi phạm gì không :3 : https://www.npmjs.com/package/qrcode.react-hieuht.
Hi vọng ai đó có thể thấy nó hữu ích =)))))
THẢO LUẬN
tks bạn nhiều
@tomhagen nếu bạn truy cập vào bằng IP và inspect lên sẽ thấy nó vẫn nhận nội dung của build từ React đó bạn. Và thông thường mình chỉ dùng port 5000 hoặc các port khác ở môi trường dev thôi còn khi lên server thì bạn chỉ nên dùng port 80 hoặc 443 vì một số lý do bảo mật vì thế mình nghĩ bạn nên cài thêm nginx và dùng port 80. Còn nếu bạn vẫn muốn dùng port 5000 thì bạn vẫn cần cai nginx. Sau đó bạn mở folder
/etc/nginx/sites-available/và tạo 1 filemy-site.confcó nội dung như sau:Sau đó bạn lưu lại file và gõ lệnh:
Và vào thử lại xem. Đây là cách config cho bạn để mở được React nhé
Còn thằng Welcome to news Project như hình mình hỏi là sau khi thử với index build từ React không được, mình mới xóa hết để vào đó file index.html tự tạo với nội dung đơn giản như vậy thôi để test, tuy nhiên cũng không thấy gì hiển thị ra luôn. ( xem localhost thì đc )
Đúng rồi bạn, sau khi chạy build từ React, mình copy hết đống này bỏ qua thư mục public ( thư mục được serve đến ) trong đó có có file index.html. Do mình sử dụng React làm view nên làm cách đó, không biết vậy sai hay có cách nào khác vậy bạn ?
Cám ơn anh đã theo dõi
Mấy năm nay e thấy ML và blockchain cũng khá là nổi, mọi người cũng đổ xô đi học, job nhiều hơn và mặt bằng chung là lương cao hơn hội fullstack bọn e
, e cũng từng thử với blockchain vào ĐATN, nhưng sau đó ko thực sự thâý hứng thú, còn với ML/Data mining,...e cũng thấy mình ko hợp với hướng đó, và vẫn xác định là mình chỉ tập trung vào cái e đang theo đuổi chủ yếu là web/server thôi anh ạ. 
(nguongmo)
thứ mình ko thể chuyển sang là ko có developer tools để dễ debug như redux
Bài viết hoàn toàn Sai hết từ phần cơ bản nhất rồi. Mình đoán bạn chưa hề đọc tới document của React Hooks và Redux.
Redux: https://redux.js.org
Hooks: https://reactjs.org/docs/hooks-intro.html?no-cache=1
Đề nghị bác đọc và sửa nhé.
Giờ Javascript là một đống hỗn tạp.
Bạn chỉ mình cách kết hợp ntn được không, dùng usestate or useReducer để connect get và update state trong store cua Redux
hay
Dịch linh ta linh tinh
)
Nó ít docs vì nó đã có kho examples phong phú rồi bạn à. Link: https://github.com/zeit/next.js/tree/canary/examples
Bài viết khiến người đọc lẫn lộn giữa các khái niệm và mục đích của chúng, gây hoang mang cho người mới bắt đầu.
Câu trả lời ngắn gọn là có nhé bác
Package này có một issue là hình mã QR code có thể sẽ bị gấp đôi kích thước khi hiển thị trên macbook do liên quan đến màn hình retina (https://github.com/zpao/qrcode.react/issues/86). Nên mình đã tự folk về rồi fix cứng lại thông số, rồi public thành cmn một package khác, dù không biết có vi phạm gì không :3 : https://www.npmjs.com/package/qrcode.react-hieuht. Hi vọng ai đó có thể thấy nó hữu ích =)))))
Thanks bác, rất hay.
Có thể kết hợp react hooks với redux được ko add
@tdtrung93 Chất đấy, dễ hiểu cho người mới bắt đầu (y)