useState trong React hook | React hook 2021

Ғылым және технология

👉 Trong video này chúng ta sẽ tìm hiểu về useState trong React hook nhé anh em 😍😍
useState là một hook trong React được sử dụng để đơn giản hóa việc thể hiện trạng thái của dữ liệu ra giao diện người dùng (UI). Khi bạn sử dụng useState thì React sẽ tạo ra một binding dữ liệu một chiều (từ state của component tới UI). Khi state thay đổi tự động React sẽ xử lý để UI được cập nhật lại. Điều này được React xử lý tự động cho chúng ta, vì vậy khi làm việc với React + useState hook các bạn không cần phải thao tác DOM thủ công như khi code thuần với Javascript nhé.
---
Bạn muốn học lập trình hiệu quả hơn không?
Hãy học tại trang web fullstack.edu.vn thay vì KZread. Lý do tại sao mời bạn bấm vào đây: • Tại Sao Nên Học Tại Tr...
#hoclaptrinh #javascript #html_css #nodejs #restful_api #backend #devops
---------------------------------------
☻ Phần mềm sử dụng trong video:
Công cụ dịch Tiếng Anh: bit.ly/2Wsuhet
Công cụ đo đạc giao diện web: bit.ly/3muevdD
Công cụ viết CV xin việc chuyên nghiệp: mycv.vn
☻ Tiện ích cho Visual Studio Code:
Gợi ý code: Tabnine Autocomplete AI (bit.ly/34rl0Yr)
Tự động đóng thẻ: Auto Close Tag (bit.ly/3mwoJue)
Tự động đổi tên thẻ đóng/mở: Auto Rename Tag (bit.ly/3nB0ADS)
Thêm màu sắc cho các cặp ngoặc: Bracket Pair Colorizer (bit.ly/37wgXfC)
Icon theme: Material Icon Theme (bit.ly/37ukU4b)
Hiển thị thông tin Git (commit, author, ...): Gitlens (bit.ly/3gYlaf9)
☻ Khóa học lập trình web MIỄN PHÍ:
Kiến thức nhập môn: fullstack.edu.vn/courses/less...
Xây dựng giao diện với HTML, CSS: fullstack.edu.vn/courses/html...
Xây dựng web responsive: fullstack.edu.vn/courses/resp...
Lập trình Javascript cơ bản: fullstack.edu.vn/courses/java...
Lập trình Javascript nâng cao: fullstack.edu.vn/courses/java...
Xây dựng web với Node & Express: fullstack.edu.vn/courses/nodejs
HTML, CSS tips: fullstack.edu.vn/courses/html...
Ứng dụng cảnh báo khi sờ lên mặt: fullstack.edu.vn/courses/tool...
Xem thêm tại: fullstack.edu.vn/courses
☻ Chú ý :
- Không văng tục chửi bậy, bình luận có văn hóa.
- Không hỏi khi chưa xem xong video.
Sai phạm sẽ được mời khỏi kênh.
☻ F8 là nơi học lập trình để đi làm!
Tại sao bạn nên học lập trình tại đây? Ở đây chúng tôi có:
- Nội dung bài học chỉn chu và chi tiết giúp học viên hiểu từ cái gốc
- Kỹ năng sư phạm khác biệt từ người dạy giúp học viên có thêm nhiều động lực
- Hình ảnh và âm thanh chất lượng cao giúp học viên thêm hứng thú
🍺 Buy me a beer
www.buymeacoffee.com/f8official
F8 Official
(c) Sơn Đặng
Website: fullstack.edu.vn
Facebook cá nhân: / sondnmc
Nhóm Học Lập Trình Web: / f8official
Email: sondnf8@gmail.com
© Bản quyền thuộc về Channel F8 Official ☞ Do not Reup
© Nghiêm cấm sử dụng video nhằm mục đích thương mại dưới mọi hình thức.

Пікірлер: 113

  • @F8VNOfficial
    @F8VNOfficial2 жыл бұрын

    F8 hướng tới đáp ứng cả những bạn lần đầu học React nên mình sẽ làm chi tiết một chút. Trong các bài sau mình sẽ thêm nhiều ví dụ, mỗi bài mình sẽ giải thích chi tiết từng dòng code, cách logic chạy. Mong các anh em đã từng học qua thông cảm nếu thời lượng dài nhé 😍 Trong này này chúng ta sẽ học về useState trong React hook (React hook 2021) nhé anh em 😍

  • @khanhduong4716

    @khanhduong4716

    2 жыл бұрын

    Ko phải học lần đầu vẫn mò vào xem đằng sau các hàm nó thực sự đang làm gì, thời nay có x2 x3 speed rồi nên dài 1 tí cũng chả sao cả

  • @qaqeqe

    @qaqeqe

    2 жыл бұрын

    Rất dễ hiểu anh. Cảm ơn anh rất nhiều nhé!

  • @hongsonvu3717

    @hongsonvu3717

    2 жыл бұрын

    rất chi tiết và dễ hiểu, cảm ơn bạn !

  • @nguyenAudio77

    @nguyenAudio77

    2 жыл бұрын

    Quý anh Sơn, em nghe bài dễ hiểu vs hút quá

  • @becode9266

    @becode9266

    2 жыл бұрын

    Anh dạy chi tiết và hay quá ạ 😍😍

  • @duong.lap283
    @duong.lap2836 күн бұрын

    Anh là người dạy cực kì có tâm luôn, cái khó hiểu anh diễn giải thật sự dễ hiểu! Cám ơn anh thật nhiều

  • @F8VNOfficial

    @F8VNOfficial

    5 күн бұрын

    Cảm ơn em nhiều nha

  • @free2idol1
    @free2idol12 жыл бұрын

    15:10 chỗ này rất đúng vì trong doc có nói "the state is only created the first time our component renders" tức là logic trong useState chỉ chạy đúng 1 lần lúc render lần đầu thôi, còn lại ở những lần render sau thì nó sẽ lấy giá trị mới nhất được return từ setCount().

  • @KhangNguyen-kq2iw
    @KhangNguyen-kq2iw2 жыл бұрын

    Thật sự coi kênh thầy Sơn càng ngày càng đỉnh luôn, có mấy cái animation trong video khúc đầu xịn xò ghê :))

  • @maianhnguyen3487
    @maianhnguyen34872 жыл бұрын

    Em cảm ơn anh Sơn nhiều ạ . Những bài anh giảng rất chi tiết và dễ hiểu giúp một đứa lần đầu học React như em có thể tiếp cận dễ dàng hơn . Em chúc anh nhiều sức khỏe và gặt hái được nhiều thành công ạ.

  • @phanntuan
    @phanntuan2 жыл бұрын

    Bài giảng của a thực sự rất dễ hiểu, giải thích rõ ràng, chi tiết 😊 Cảm ơn và mong a luôn ra những video hay như vậy ạ ❤️

  • @laophukhang
    @laophukhang Жыл бұрын

    xem trên youtube chủ yếu giúp kênh có thêm lượt view và tương tác, mong kênh bạn có thêm nhiều video hay cho các bạn trẻ có đam mê lập trình

  • @giangoan9517
    @giangoan9517 Жыл бұрын

    ngày xưa không ai chỉ anh cần học những gì để đi làm . trong khi tự học mà anh còn có kiến thức rộng như vậy . thì a xác định hướng đi kiểu gì vậy ạ (tức là học những gì trước những gì sau ) ..e cám ơn . a giảng rất dễ hiểu .. chúc a có nhiều sức khỏe

  • @maicaotri3668
    @maicaotri36682 жыл бұрын

    wao anh giải thích kỹ cách nó chạy thật là hay quá, dễ hiểu vô cùng luôn ạ

  • @thuanho8164
    @thuanho8164 Жыл бұрын

    Ui đỉnh quá anh ơi, em đọc docs của trang React mấy nay bị cấn cái flow của useState, xem video của anh hiểu ngay, cảm ơn anh nhiều ạ! Chúc anh ngày mới nhiều niềm vui.

  • @chinafoods1886
    @chinafoods18862 жыл бұрын

    A sơn dạy có tâm thật sự a ơi.

  • @levanduy1406
    @levanduy1406 Жыл бұрын

    Cảm ơn anh vì bài giảng, nó rất chi tiết, thật sự xây dựng chắc cho em 1 nền tốt để em có thể phát triển thêm sau này, cảm ơn anh,!!!

  • @nhanhautran3882
    @nhanhautran3882 Жыл бұрын

    Anh Sơn đỉnh quá, chỉ cần xem video của anh là hiểu luôn !!!

  • @bumvlog2607
    @bumvlog26072 жыл бұрын

    giang rât loi cuon nguoi nghe, de hieu, chi tiet . tuyet voi !

  • @vinguyenvan6671
    @vinguyenvan66712 жыл бұрын

    càng coi lại nhiều lần càng hiểu ra nhiều vấn đề hơn , cảm ơn anh sơn , cảm ơn F8

  • @TrungNguyen-rf6fy
    @TrungNguyen-rf6fy2 жыл бұрын

    Bài giảng tuyệt vời !!! Cảm ơn anh Sơn

  • @truonganhkhoa4673
    @truonganhkhoa46732 жыл бұрын

    cám ơn bạn Sơn, bạn làm hướng dẫn rất có tâm.

  • @manhoan7474
    @manhoan74742 жыл бұрын

    Thầy giảng hay quá thầy ơi, trong thời gian ngắn sắp tới thầy có thể làm nhiều video hơn về react hooks và redux được không ạ. Em cảm ơn!

  • @bynemusic311
    @bynemusic3112 жыл бұрын

    Ui a ra luôn, thank a nha, chúc a nhiều sức khỏe ra tiếp ạ

  • @nguyenminhhuyk13_hcm22
    @nguyenminhhuyk13_hcm222 жыл бұрын

    cảm ơn anh ạ hi vọng anh ra thêm nhiều nhiều videos nửa ạ. Rất dể hỉu luôn ạ

  • @Misskieutra
    @Misskieutra Жыл бұрын

    Rất chi tiết và cụ thể. Cảm ơn anh.

  • @teo1407
    @teo14072 жыл бұрын

    Chất lượng quá anh ạ

  • @lona_1421
    @lona_1421Ай бұрын

    Cảm ơn bài giảng của anh ạ.

  • @available6733
    @available67332 жыл бұрын

    seri dạy học quá đỉnh, free mà tốt gấp vạn lần các khóa trả phí, Cảm ơn Sơn rất nhiều nhiều

  • @NamLe-sl4qy

    @NamLe-sl4qy

    2 жыл бұрын

    haha

  • @deverycode3677
    @deverycode36772 жыл бұрын

    Hóng video của anh mãi UwU

  • @chotodamcau1caiduockhong
    @chotodamcau1caiduockhong10 ай бұрын

    dậy hay như này mà k đẹp trai bằng mình, thật đáng tiếc :D :D :D

  • @nguyenduyanhquoc3801
    @nguyenduyanhquoc38012 жыл бұрын

    F8: có tâm, có tầm

  • @minhvu0906
    @minhvu09062 жыл бұрын

    hóng quá 😎

  • @11.tavanhung92
    @11.tavanhung922 жыл бұрын

    Chúc anh nhiều sức khỏe ^^

  • @DavidJames535
    @DavidJames5352 жыл бұрын

    Love your lesson🥰🥰

  • @nampham1062
    @nampham10622 жыл бұрын

    Cảm ơn anh Sơn nhiều

  • @vietuc8485
    @vietuc84852 жыл бұрын

    hay quá anh 🙏

  • @dennisnguyen5787
    @dennisnguyen57872 жыл бұрын

    em cảm ơn anh nhiều!

  • @longtruongquang294
    @longtruongquang2942 жыл бұрын

    anh ơi ra nhanh nha . em hóng ghê :>>

  • @phamkhanh1925
    @phamkhanh19252 жыл бұрын

    Hay anh ơi

  • @NguyenNguyen-qg3nj
    @NguyenNguyen-qg3nj Жыл бұрын

    hay quá!

  • @nguyenvananh2111
    @nguyenvananh21112 жыл бұрын

    cho mình hỏi với hooks thì nên chia state ra thành nhiều state và setState nhỏ, hay là để 1 state nested lớn, cám ơn ạ

  • @congdo3552
    @congdo3552 Жыл бұрын

    Mong anh ra luôn khóa full stack ạ

  • @tranxuantien1495
    @tranxuantien14952 жыл бұрын

    Anh Sơn ơi cho em hỏi. Các bài tập về phần hook em làm theo anh mà em muốn lưu lại để sau này xem lại thì mỗi phần em tạo một file js rồi mỗi lần em muốn chạy file nào thì em import vào đúng k anh.

  • @phacius1087
    @phacius1087 Жыл бұрын

    Anh có thể giải thích thêm về cái callback trong setState không, em chưa hiểu tại sao mình sao mình lại truyền callback vào hàm setState ấy, nếu mà mình truyền time-1 thì nó chỉ dừng ở 59 và time luôn luôn ỏ 60

  • @buihoang1424
    @buihoang1424 Жыл бұрын

    em cảm ơn nhé

  • @vanthienpham
    @vanthienpham Жыл бұрын

    lâu lâu xem lại hoài lun

  • @Mimi-ek7uw
    @Mimi-ek7uw Жыл бұрын

    E cám ơn bài giảng của a, e lúc đầu tự học useState mà k hiểu bản chất cốt lõi của nó nên hay bị nhầm.

  • @NguyenDung-oh3kk
    @NguyenDung-oh3kk2 жыл бұрын

    Cmt đầu

  • @nhanle6675
    @nhanle66752 жыл бұрын

    Cho mình hỏi là có thể dùng data get được từ useSelector() làm giá trị init cho useState() ko, vì sao và cách fix ạ. Mình cảm ơn

  • @chauthimylan2710
    @chauthimylan27102 жыл бұрын

    🧡

  • @anhbaytv4548
    @anhbaytv4548 Жыл бұрын

    MÌnh có thêm object vào mãng được không a? a giải đáp giúp e với nhé. ^^ thank a

  • @vanhungvu1196
    @vanhungvu1196 Жыл бұрын

    cái khúc 3 cái countor anh nói cùng 1 giá trị, em cứ nghĩ nó sẽ return từng lần gọi và lưu vào biến count (chỗ detructoring chứ ạ) giúp em với ạ

  • @NoName-sr8ns
    @NoName-sr8ns2 жыл бұрын

    Mua khóa Evondev mới ra cho em trai học đọc qua với vào xem thử Sơn dạy mới thấy sai lầm khi mua

  • @ThoHongHot
    @ThoHongHot6 ай бұрын

    cho em hỏi mỗi lần muốn làm bài tập thì làm ở đâu ạ nếu mỗi lần làm một bài lại npm dự án react thì hơi bất tiện ạ

  • @h_sangg9459
    @h_sangg94592 жыл бұрын

    Ủa mình lên video kìa

  • @metablibv37
    @metablibv372 жыл бұрын

    Xem lần 1 khóc tiếng miên 😢 xem lần 2 thông não :D

  • @quangtu968
    @quangtu968 Жыл бұрын

    Em chào thầy Sơn, em có câu hỏi là trong trường hợp giá trị truyền vào đối số setState() bằng với giá trị lúc khởi tạo thì component này có được render lại không ạ. Mong nhận được lời giải đáp từ phía thầy Sơn ạ

  • @F8VNOfficial

    @F8VNOfficial

    Жыл бұрын

    Nếu bằng (===) thì không re-render bạn nhé

  • @tannguyen6388
    @tannguyen63882 жыл бұрын

    em chào anh ạ

  • @upagency7439
    @upagency74392 жыл бұрын

    a sơn ơi cho em hỏi, vậy trường hợp nào mình sử dụng useState callback và không callback vậy a. e cảm ơn a nhiều

  • @free2idol1

    @free2idol1

    2 жыл бұрын

    cái nào cần tính toán logic như ở 15:46 thì dùng callback, còn ko thì thôi.

  • @leephan1912
    @leephan19122 жыл бұрын

    setState bên class components tự merge giá trị cũ, bên Hooks quên spread phát ghi đè hơi căng nhỉ 😅

  • @SKYGAMING-nr1ju
    @SKYGAMING-nr1ju2 жыл бұрын

    A ơi lúc đó anh chọn chuyên ngành nào của CNTT vậy cho e xin ý kiến với

  • @hunglemanh6535

    @hunglemanh6535

    Жыл бұрын

    ảnh gap year, nghỉ học đại học xong làm trái ngành rồi sau đó tự học lập trình rồi tự đi xin việc đó chứ

  • @hoaimiqng
    @hoaimiqng2 жыл бұрын

    😊

  • @dxlaam004
    @dxlaam0042 жыл бұрын

    hi anh

  • @loinholofi
    @loinholofi2 жыл бұрын

    anh có thể tải source code với file .md lên git đc không ạ?

  • @user-cm1el5yo2d
    @user-cm1el5yo2d3 ай бұрын

    Trong trường hợp nào mình dùng onClick={()=>handleIncrease()}, onClick={handleIncrease}. Hai cách dùng này có khác nhau không ạ?

  • @minhnguyenhainhat234
    @minhnguyenhainhat234 Жыл бұрын

    1 video cày cỡ 5,6 lần là hiểu

  • @yenka3205
    @yenka32052 жыл бұрын

    Đã học và hiểu. Cảm ơn thầy Sơn import { useState } from "react"; const orders = [100, 200, 300]; function App() { const [counter, setCounter] = useState(() => { const total = orders.reduce((total, cur) => total + cur); return total; }); const [info, setInfo] = useState({ name: "Nguyen Van A", age: 18, address: "Ha Noi, VN", }); const handleIncrease = () => { setCounter((prevState) => prevState + 1); }; const handleUpdate = () => { setInfo({ ...info, bio: "Yeu mau hong", }); }; return ( {counter} Increase {JSON.stringify(info)} Update ); } export default App;

  • @hienhuynh5215
    @hienhuynh5215 Жыл бұрын

    Chào Thầy Sơn, sao không dùng Setcounter(courter+1) ngay vị trí handleIncrease (nghĩa là không cần viết thêm hàm handleIncrease) ? Cám ơn Thầy ạ,

  • @F8VNOfficial

    @F8VNOfficial

    Жыл бұрын

    Vì trong thực tế logic xử lý nó ko đơn giản chỉ là + 1 như vậy, nhiều dòng code hơn viết ra hàm tưởng minh hơn về ngữ nghĩa, một số trường hợp có thể tái sử dụng hàm. Một số tình huống trong tương lai các bạn đc học sẽ gây re render các component ko cần thiết. Việc tách hàm ra giúp kết hợp sử dụng đc useCallback hook để tối ưu. Một số cái mình nói có thể bạn sẽ được học trong các bài tới.

  • @nghiapham3362
    @nghiapham33622 жыл бұрын

    Cho em hỏi về code foldor tittok đó lấy ở đâu vậy ạ?

  • @thuannguyenlehoa9711
    @thuannguyenlehoa9711 Жыл бұрын

    vậy là setState() là 1 async function đúng k ạ?

  • @datbuiquoc2361
    @datbuiquoc23612 жыл бұрын

    Ah ơi e học trên f8 bằng điện thoại mà sao ko có mục bài tập anh nhỉ?

  • @TuanNguyen-xb5jj
    @TuanNguyen-xb5jj Жыл бұрын

    mình tưởng nếu như vậy thì sẽ thêm liên tục thằng bio vào chứ nhỉ không biết mình nhầm ở đâu

  • @duxng1787
    @duxng17872 жыл бұрын

  • @nguyetnga2054
    @nguyetnga20542 жыл бұрын

    chưa ra video mới luôn à ah

  • @khoaanh4609
    @khoaanh46092 жыл бұрын

    Có ai hiểu rõ giải thích giúp mình nguyên lý chạy của 3 cái setCount dùng callback k nhỉ

  • @dzyee7431
    @dzyee7431 Жыл бұрын

    anh có thể vd trả dữ liệu con về cha dc ko ạ

  • @tantruongquang5490
    @tantruongquang54902 жыл бұрын

    18:41 tại sao arrow function có lúc dùng ngoặc () có lúc dùng {} vậy anh?

  • @tantruongquang5490

    @tantruongquang5490

    2 жыл бұрын

    prev => () handleupdate = ()=> {}

  • @hieulevan4300
    @hieulevan43002 жыл бұрын

    cmt t3

  • @ninhbuihai5017
    @ninhbuihai50172 жыл бұрын

    hello

  • @congnamle3632
    @congnamle36322 жыл бұрын

    Nó được render lại thì em có nghe thuật ngữ " Data binding" phải không anh?

  • @F8VNOfficial

    @F8VNOfficial

    2 жыл бұрын

    Render lại là "re-render", binding data là "ràng buộc dữ liệu" rồi em

  • @congnamle3632

    @congnamle3632

    2 жыл бұрын

    ​@@F8VNOfficial Dạ vâng em cảm ơn anh. Tại vì em đang ở trường có cho học món AngularJs. Nó lại dùng thuật ngữ data binding trong khi react anh lại dùng từ re-render cập nhật cho nó nhảy số 1,2,3,4 nên em tưởng nó là 1. Em sẽ ngâm cứu lại cái này 😁

  • @F8VNOfficial

    @F8VNOfficial

    2 жыл бұрын

    ​@@congnamle3632 Gọi là binding cũng đúng em, nhưng em cần focus vào ý nghĩa của cách người ta dùng từ để hiểu nó đang nói tới điều gì. - Re-render => Nói tới việc component update lại UI để hiển thị giao diện mới - Data binding => Nói tới việc dữ liệu dàng buộc, ví dụ UI bị dàng buộc bởi dữ liệu, khi dữ liệu thay đổi thì UI thay đổi theo Mặc dù nghe có vẻ giống nhau, nhưng để học sâu thì em cần chú ý tới ý nghĩa của nó, vì re-render và data binding là đang nói tới 2 vấn đề khác nhau nhé.

  • @angkhoa4750
    @angkhoa475015 күн бұрын

    vào time 7:26 nếu thay counter+1 = counter ++ tại sao bấm 2 lần nó mới thay đổi giá trị vậy bạn

  • @F8VNOfficial

    @F8VNOfficial

    15 күн бұрын

    Vì a++ nó trả về giá trị của a trước khi tăng. Tức là a = 1 thì a++ là 1, sau đó bạn dùng a ở biểu thức khác nó mới là 2. Nếu muốn dùng ++ thì bạn viết phía trước, tức là ++a nhé.

  • @Lelouchvv
    @Lelouchvv2 жыл бұрын

    a ơi cho em hỏi là tại sao state mình để là const mà vẫn có thể thay đổi giá trị được ạ?

  • @tubui6639

    @tubui6639

    2 жыл бұрын

    mảng là const mà b :D

  • @Lelouchvv

    @Lelouchvv

    2 жыл бұрын

    @@tubui6639 ok

  • @angNguyen-yr7qc
    @angNguyen-yr7qc Жыл бұрын

    thầy Sơn ơi sao em console.log() thì trên trình duyệt nó lại in ra 2 lần vậy ạ

  • @F8VNOfficial

    @F8VNOfficial

    Жыл бұрын

    File index.js có StrictMode bạn ơi

  • @hieunguyen76134
    @hieunguyen761349 ай бұрын

    Em có đoạn code sau: import { useState } from 'react'; const App = () => { const [x, setX] = useState('a'); const [y, setY] = useState('b'); const [z, setZ] = useState('c'); const [t, setT] = useState('d'); console.log('render: ', x, y, z, t); const handle = () => { setX('c'); setY('d'); setZ('e'); setT('f'); }; return ( Click {x}, {y}, {z}, {t} ); } export default App; Cho em hỏi, tại sao khi em nhấn Click 2 lần thì component re-render 2 lần, dù cả x, y, z, t đều không đổi. Nhưng khi click lần 3 thì lại không re-render nữa ạ. Em cảm ơn.

  • @F8VNOfficial

    @F8VNOfficial

    9 ай бұрын

    Có thể ở file index.js của em đang chưa comment StrictMode lại phải ko?

  • @hieunguyen76134

    @hieunguyen76134

    9 ай бұрын

    em có comment rồi nhưng vẫn bị ạ

  • @epnguyen8029
    @epnguyen80292 жыл бұрын

    Anh Sơn chưa ra video :))))

  • @baobaostore
    @baobaostore2 жыл бұрын

    Có ai thắc mắc tại sao useState chỉ có 2 đối số mà lại dùng mảng chứ không dùng object không?

  • @HungNguyen-su6tl

    @HungNguyen-su6tl

    2 жыл бұрын

    Dùng object sao được hả bạn, destructuring của object bạn phải biết tên của properties chứ.

  • @codtalk

    @codtalk

    2 жыл бұрын

    do useState() return về mảng thì dùng mảng

  • @longnguyenphuoc1103
    @longnguyenphuoc11032 жыл бұрын

    function App() { console.log("react-app") return ( ); } A Sơn cho e hỏi sao code của e bị re-render lại 2 lần thế nhỉ ở tab console nó hiện ra: react-app react-app như này ạ :((

  • @namhv967

    @namhv967

    Жыл бұрын

    Mình cũng bị vậy, chưa biết sao luôn :(

  • @top_1_florentino

    @top_1_florentino

    Жыл бұрын

    @@namhv967 bạn bỏ React.Strictmode đi

  • @thienhovan4257
    @thienhovan4257 Жыл бұрын

    hook chỉ dùng với function component

  • @datwilliama2
    @datwilliama22 жыл бұрын

    xem ngay mà vẫn ko kịp nhỉ

Келесі