Truyền dữ liệu từ API vào mảng trong ReactJS

Chào các bác, em muốn lấy dự liệu trong axios.get vào trong mảng usersData nhưng e không lấy được , có bác nào giúp em với ạ, em cám ơn.

mình mới học react nên chỉ biết FC thôi, class component thì mình chịu -…-.
Nhưng mà câu hỏi của bạn nên viết rõ ràng hơn thì chắc có người chỉ, ví dụ res.data của bạn có định dạng như nào, bạn muốn usersData có định dạng ra sao.

cái componentDidMount của bạn thì chắc giống như useEffect(()=>{}, [])
bạn bỏ cái phần usersData vào scope then của axios chắc là được, tại bạn bỏ ngoài nên trong khi đợi api response thì cái phần usersData nó chạy lúc this.state.persons là empty array nên bạn ko có gì, nhưng mà thay vì this.state.persons thì thay thành res.data

2 Likes

Phải sửa thành this.setState( {persons : res.data.persons })

trong class component setState là merge chứ không phải replace như useState như bên hook (function component) mà theo kiểu hook viết vậy cũng sai nữa.

2 Likes

Mình không có nhiều kinh nghiệm lắm nhưng đang thấy có chút vấn đề là bạn khai báo Class Component nhưng bên trong lại viết như Function Component.
Chỗ khai báo default state nên cho vào constructor(), còn đoạn lấy data từ state kia bạn nên cho vào method nào đó trong lifecycle của React Component, ví dụ như render(), khi state đã sẵn sàng để lấy dữ liệu.

Với cả gần đây thì đang chuyển hướng qua viết dạng Function Component với sử dụng hook, sau khi tìm hiểu về Class Component để nắm được lifecycle, bạn convert qua Function Component thử xem nhé.

3 Likes

Nhìn bạn viết code thật là nản, tên component để tiếng việt, mảng user data sao ko lưu vào state luôn mà viết như thuộc tính của class để làm j

dạ em cám ơn ạ, bỏ cái userData ra ngoài đặt thêm const là được r ạ.

dạ em làm theo trên mạng nên mới bị lỗi ạ. em cám ơn ạ

dạ, em cũng đang tính làm chia component sang file khác , e chạy demo thử trước r e mới chia ra ạ.

dạ mới học code chưa lâu nên còn sai xót, em chưa biết đưa vào state rồi ở bên dưới gọi như nào ạ

image

đây là phần gọi ở dưới của em ạ

có vẻ bạn còn chưa biết cách điều khiển state trong 1 component.
Mình nghĩ bạn nên đọc qua kĩ tài liệu về phần State và Lifecycle trước:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?