thắc mắc Tại sao ReactJS lại hot đến vậy ạ?

  • Người tạo chủ đề Người tạo chủ đề Celsius
  • Ngày bắt đầu Ngày bắt đầu
Với function thì nếu thuần pure function ko liên quan state, props, sideEffect thì move ra ngoài.

còn function mà phụ thuộc vào deps thì tốt nhất nên useCallback
JavaScript:
// useCallback rồi đem xuống component props khác or useEffect
function abc() {
    return props.ax + state.ab;
}

Có 1 cái trick để giảm dep đó là setState của react nhận vào function

JavaScript:
function ABC(props) {
  const [state, setState] = useState(1);
 
  useEffect(() => {
      if(props.isBehind) {
       setState(state + 1)
   }
  }, [state, props.isBehind])
}

Ví dụ code này ai chạy chắc useEffect nó loop sml luôn. Vì mục tiêu của code chỉ là khi props.isBehind true thì state + 1; Nhưng nếu viết trên kia thì loop. Vì state dổi sẽ trigger lại function.
Mà nếu đổi bỏ state ra khỏi dep effect thì sẽ bị linter chửi. Tức quá ignore nó cũng ok nhưng có 1 đoạn code khác cập nhật state rồi thì state nằm trong Effect sẽ bị outdate dẫn đến state + 1 sai.


JavaScript:
function ABC(props) {
  const [state, setState] = useState(1);
 
  useEffect(() => {
      if(props.isBehind) {
       setState((prev) => {return prev + 1})
   }
  }, [props.isBehind])
}

Sủa lại setState xài function là xong.

Ở đây linter chỉ nhắc nhở mình thôi, còn code theo nó sẽ ko chắc đúng 100% (thực ra cũng đúng vì đòi xài state tron effect mà, lý thuyết nó ko sai) , cái này phải tập luyện
nguyên tắc thế này thôi.

Nếu 1 function là pure ko có side effect thì move ra ngoài component => ko cần useCallback làm gì.
1 function return từ 1 cái hook ví dụ useCheckData => {calcWithState, ...} nếu calcWithState có side

Effect liên quan đến state, props thì sẽ dùng useCallback. Lý do 1 phần ko rõ component sẽ sử dụng hook ntn. Có thể ném vố dep array của useEffect nên tốt nhất memo.


Tương tự nếu function ơ trong 1 component có side effect và có xài trong 1 cái dep array thì xài. Còn nếu ko có bỏ vào dep array thì thôi khỏi memo làm gì. Căn bản ko nên cố gắng pre optimize nhiều quá trừ phi chậm. Ví dụ render nhiều item cùng lúc pass cái function vào thì có thể useCallback. Còn render 1 2 cái button kiểu Button onClick=fnSideEffect thì thôi khỏi
Cái đoạn function bữa có nói, check lại cmt mới giải thích thiếu, lười type nên gõ lại nên quote chung
 
trong tương lai react + ssr call thẳng vào db ko cần qua BE nữa link = ))
Hiện tại làm dc mà, nextjs nó vốn là nodejs server mà :shame:

Cơ mà bí lắm mới dùng server render để làm api thôi :shame:
Sau này react ra thêm server component chắc cũng hài k kém.
Nói chung trên twitter cũng nhiều thằng ngông mà lắm follower
 
trong tương lai react + ssr call thẳng vào db ko cần qua BE nữa link = ))
PHP clone
oTW7suG.png
 
Hiện tại làm dc mà, nextjs nó vốn là nodejs server mà :shame:

Cơ mà bí lắm mới dùng server render để làm api thôi :shame:
Sau này react ra thêm server component chắc cũng hài k kém.
Nói chung trên twitter cũng nhiều thằng ngông mà lắm follower
phỏng vấn mid or 2yr react bộ câu hỏi thím biết sẽ là gì k
 
Hiện tại làm dc mà, nextjs nó vốn là nodejs server mà :shame:

Cơ mà bí lắm mới dùng server render để làm api thôi :shame:
Sau này react ra thêm server component chắc cũng hài k kém.
Nói chung trên twitter cũng nhiều thằng ngông mà lắm follower

Xài chung server cho API và render thì cũng nên là express hay nest gì đó chứ thằng next API routes nó là stateless, không hay cho lắm.

Sent from Nubia NX702J using vozFApp
 
Sửa lần cuối:
May tôi dùng Vue, nghe mấy bác deps deps thấy sợ :eek:
Cứ shallow deps như truyền thống hồi còn xài class component mà quất thôi bác. Deep deps thì bắt buộc phải loop compare, nó chậm như hồi còn dùng lodash deepclone, khác cái nếu làm trên React thì tẹt ga, lo gì hiệu suất, còn nếu backend dùng nodejs mà deep deps compare kiểu này bị gõ đầu.
 
Này chịu mỗi cty khác nhau. Nói chung ngoài kiến thức FE cần có thêm algo, mấy cty giờ vòng loại CV hacker rank đầy ra
Anh biết chỗ nào làm FE mà nhàn WLB không anh, chứ tôi làm FE chỗ nào cũng bắt phải cày như cái máy, làm fulltime hay bị thằng EM chê, bắt buộc phải OT. Tui giờ già rồi gõ React ko máu lại bọn trẻ 2k nữa, bắt buộc phải kiếm job focus BE.
 
Anh biết chỗ nào làm FE mà nhàn WLB không anh, chứ tôi làm FE chỗ nào cũng bắt phải cày như cái máy, làm fulltime hay bị thằng EM chê, bắt buộc phải OT. Tui giờ già rồi gõ React ko máu lại bọn trẻ 2k nữa, bắt buộc phải kiếm job focus BE.
naver, employment hay nab xem. Tôi mùa này PV mà ứng viên đông quá, mấy năm cũng làm cty bình thường + già nên tạch mấy round sau. Nói chung số cũng ko dc làm cty xịn. Trừ NAB thuần thuật toán round đầu thì mấy cty kia phải ôn kỹ thêm lý thuyết. Mấy cái cơ bản nó cũng hỏi từ prototype, event queue...

Có cái mấy năm focus FE nhiều, BE giờ yếu ko apply dc fullstack.
 
Sửa lần cuối:
ôn hackerrank FE thým có link kh em xin với.
https://www.techinterviewhandbook.org/grind75?weeks=6&hours=12

Vô đay grind đi. Nói chung leetcode hay hackerank nó cũng vậy thôi.

Mấy cty giờ mix trắc nghiệm (hỏi sâu tới OSI, TCP) rồi 1 vài câu thuật toán. Chưa kể live code nữa.

Bữa PV cty kia cho mỗi bài thuật toán live code (về check cũng medium) làm gần ra mà hết giờ cái cũng cho tạch bảo kỹ thuật yếu. Code FE mà chả thấy question code FE gì.
Làm home test thì chấm xong cũng ko cho kết quả fail vì cái gì.
FE giờ PV khó vãi đạn :shame:
 
Sửa lần cuối:
https://www.techinterviewhandbook.org/grind75?weeks=6&hours=12

Vô đay grind đi. Nói chung leetcode hay hackerank nó cũng vậy thôi.

Mấy cty giờ mix trắc nghiệm (hỏi sâu tới OSI, TCP) rồi 1 vài câu thuật toán. Chưa kể live code nữa.

Bữa PV cty kia cho mỗi bài thuật toán live code (về check cũng medium) làm gần ra mà hết giờ cái cũng cho tạch bảo kỹ thuật yếu. Code FE mà chả thấy question code FE gì.
Làm home test thì chấm xong cũng ko cho kết quả fail vì cái gì.
FE giờ PV khó vãi đạn :shame:
cho xin tham khảo bài code live đó được ko thím.

thực sự thì tốt algo thì cái mindset nó rất là tường minh và mạch lạc.

mình năm ngoái có đi PV dạo 1 2 cty, cty nào cũng có thuật toán, nhưng toàn bài easy thôi.
 

Thống kê chủ đề

Ngày tạo
Celsius,
Người trả lời cuối
JavaNeverDie002,
Trả lời
690
Lượt xem
97.275
Quay lại
Lên đầu trang