Lại phải cảm ơn anh rất nhiều, em đã học được rất nhiều khóa học chất lượng từ anh. Chúc anh luôn có sức khỏe, có cảm hứng để sản xuất thêm nhiều khóa học chất lượng nữa cho cộng đồng ạ
@dinhanhtuan222 жыл бұрын
1. Initial value 2. action 3. reducer 4. dispatch const [state, dispatch] = useReducer(, ) The `reducer` function contains your custom state logic and the `initialState`can be a simple value but generally will contain an object. The `useReducer` Hook returns the current `state`and a `dispatch`method
@hoangminh48243 жыл бұрын
Đang ngồi học clip của anh định xem youtube giải trí tí thì quả thumbnail lại đập vào mặt =))
@h_sangg94593 жыл бұрын
thật sự cảm ơn anh rất nhiều ạ, em học vừa code lại được theo useReducer, vừa theo useState được
@KhangNguyen-kq2iw3 жыл бұрын
ông nào làm thumbnail công nhận xịn xò thật sự, nhìn là muốn bấm vào xem r :)))
@quynhmaixinhgai2 жыл бұрын
E cảm ơn vì bài học bổ ích của a. Nếu có thời gian rảnh, a làm thêm video về Redux với Redux-Saga hoặc những thư viện đi kèm với React như Reactive-Form ,hay axios a nhá
@ThangTran-hi3es2 жыл бұрын
gái ham học thế, ngưỡng mộ :v
@HuyNguyen-qp9cn2 жыл бұрын
@@ThangTran-hi3es có khi ông đang nói chuyện với đàn ông đấy =))
Bài rất dễ hiểu. Anh có thể ra thêm video sử dụng useReducer để render các Object lồng nhau được không ạ
@tranngocthang50873 жыл бұрын
Anh Sơn dạy rất hay và có tâm. Nếu Anh có thể làm 1 series dạy về lập trình C, C++ hay JaVa thì tốt quá ạ !!
@sonlengoc948 Жыл бұрын
C++ có rùi đó bạn
@lokissdo99652 жыл бұрын
Về phần input onChangr cho em hỏi là tại sao mình không dùng ref rồi khi nào add thì mình mới dùng e.target.value thôi ạ, mình re-render component kiểu này có tốt về trải nghiệm không ạ?
@nguyenthang78508 ай бұрын
Tại ảnh in cái job ra nếu kh liên tục setjob thì nó kh render, hong biết đúng v kh nữa
@ThaiPham-pc3dm3 жыл бұрын
Cảm ơn a nhiều, A có thể hướng dẫn làm speech to text bên react native được không ạ.
@KienDTPS3 жыл бұрын
Ngồi nghe anh giảng em say quá 😂😂😂
@vuthien93423 жыл бұрын
thumbnail đỉnh vậy a :D
@NamNguyen-sy6ey2 жыл бұрын
9:52 kiểu dữ liệu của action.type là string sao dùng được case là SET_JOB vậy anh ?
@F8VNOfficial2 жыл бұрын
SET_JOB là constants thôi mà em, trong ví dụ này thì nó lưu string đấy em
@minhhoang5762 жыл бұрын
cảm ơn anh Sơn, video rất hay.
@transi28442 жыл бұрын
cho em hỏi sao em setLocalstorage mỗi lần em f5 lại nếu không thêm giá trị thì vẫn còn, nhưng nếu thêm giá trị mới thì giá trị cũ mất hết ạ thay bằng giá trị mới. em cảm ơn
@hoquang37553 жыл бұрын
thumbnail chất quá a :v
@sonminhpham81183 жыл бұрын
Giờ mới biết anh sơn cũng có tính khiếu hài khi nhìn vào thumnail 😀
@TrungLe-kp9tg3 жыл бұрын
Nhìn thumbnail là muốn học rồi =))
@dennisnguyen57873 жыл бұрын
bài này xoắn não quá a ạ x_x
@hungoan76992 жыл бұрын
cho e hỏi nếu đã là hằng thì viết hoa thế sao mấy thằng khác cũng là const mà k phải viết hoa?
@Whyrulookingatmyname3 жыл бұрын
Ok anh Sơn lao công :)
@luannguyenthanh16293 жыл бұрын
Anh Sơn có thể quay một video về JWT được không ạ
@thetannguyen93892 жыл бұрын
ở dòng 57, nếu newJobs em không spread ra (const newJobs = state.jobs) thì 1 lần xóa nó sẽ mất 2 phần tử liền kề nhau, mà khi console.log(newJobs) sau khi splice thì em chỉ thấy có 1 phần tử bị xóa, vậy mà trên UI bị mất 2 phần tử là sao vậy ạ?
@linhhhuyenn_60992 жыл бұрын
cùng câu hỏi ạ
@free2idol12 жыл бұрын
giải thích hết thì hơi dài dòng nhưng nói chung bạn sai ở chỗ là nếu ko dùng spread operator mà dùng const newJobs = state.jobs thì newJobs sẽ chỉ là 1 reference của state.jobs thôi nên sau đó khi dùng newJobs để xửa lí logic tiếp thì kết quả cuối cùng ra sẽ ko như ý muốn (vì ngay lúc đầu tiên đã sai thì cái cuối cùng ko thể đúng được).
@HoangHuy-md8ng2 жыл бұрын
@@free2idol1 t cũng đang thắc mắc đoạn này. Nếu không phiền bạn có thể giải thích được không ạ? Hay có bài viết nào về nó không ạ
@free2idol12 жыл бұрын
@@HoangHuy-md8ng React của bạn chỗ file index.js để nên reducer() sẽ bị gọi 2 lần (bạn upgrade lên react 18 sẽ thấy reducer được gọi 2 lần)... và khi bạn dùng const newJobs = state.jobs thì newJobs cũng chính là state.jobs... sau đó khi bạn splice() nó sẽ remove 1 property của newJobs thì state.jobs cũng bị removed 1 phần tử. Và ở lần call thứ 2 thì cũng lặp lại tình trạng như vậy. Cuối cùng khi render ra thì phần tử đầu tiên và kế nó sẽ bi removed.
@enzo4828 Жыл бұрын
const handleAdd = () => { dispatch(addJob(inputRef.current.value)) dispatch(setJob('')) inputRef.current.focus() } funct Add điều chỉnh lại trong input, bỏ onChange + value. M k giỏi giải thích, phiền Sơn expland hộ mình
@teddycool-short3 жыл бұрын
Đang lướt tìm video giải trí thấy quả thumbnail :))))))))))
@ComradeBao3 жыл бұрын
Ảnh nền thú vị thế ạ :))
@uctamnguyen15932 жыл бұрын
tại sao lại gán value input vào state làm gì ạ, e thấy mỗi lần thây đổi value thì rerender
@F8VNOfficial2 жыл бұрын
Để binding dữ liệu nhập tại input vào state đó em. Khi làm việc với dữ liệu của input thì ta sẽ thao tác với state tương ứng. Ngoài ra, em có thể dùng state của chính input truyền vào value props của input, điều này giúp binding dữ liệu 2 chiều (input thay đổi state cũng thay đổi, state thay đổi dữ liệu trong input cũng thay đổi). Từ đó, ta có sự đồng nhất giữa UI (giao diện người dùng) và dữ liệu/trạng thái ứng dụng. Ví dụ, để viết logic xoá text trong 1 input thì ta sẽ set state của input đó về chuỗi rỗng.
@uctamnguyen15932 жыл бұрын
@@F8VNOfficial cảm ơn anh
@tuananhnguyen757 Жыл бұрын
Lúc ô input nó trống, anh nhấn add nó vẫn nhận vào mảng luôn ấy ạ
@tienhuynh2435 Жыл бұрын
khá dễ hiểu
@inhxuanhanh39783 жыл бұрын
Quả thumbnail cười chết 😂
@minhvu09063 жыл бұрын
dispatch(addJob(job)) ở trên liền với dispatch(setJob('')) ở dưới, nó chạy bất đồng bộ đúng ko anh
@master-front-end2 жыл бұрын
kkk ko co dau man
@j1s0o3 жыл бұрын
Rồi bài sau là Redux phải không anh !
@trongcuong78557 ай бұрын
cảm ơn anh
@wangdat3 жыл бұрын
nếu mọi người học đầy đủ vài hôm video này nhiều view nhất cho xem =)))
3 жыл бұрын
mong a sớm có video redux ^^
@maitoshikigami40353 жыл бұрын
Hảo thumbnail XD
@congnamle36323 жыл бұрын
Thumb nail hài vãi 😁😁😁
@nguyenhoangsinh33673 жыл бұрын
Love youu
@Longvis047 ай бұрын
clip ngắn mà mất 1 tiếng rưỡi để hiểu và code lại =))