7-3. Thành phần nguồn cấp dữ liệu

Vai trò của thành phần
FeedĐọc dữ liệu từ hợp đồng: phương pháp
getFeedLưu dữ liệu vào cửa hàng: hàm
setFeedThể hiện dữ liệu trong thành phần: thành phần
Feed
1) Vai trò của thành phần Feed
FeedTrong chương 4. Soạn hợp đồng thông minh Klaystagram, ta đã viết cấu trúc PhotoData và đặt nó trong ánh xạ _photoList. Vai trò của thành phần Feed như sau: 1. Đọc PhotoData thông qua gọi phương pháp hợp đồng Klaystagram (redux/actions/photos.js) 2. Thể hiện PhotoData(nguồn cấp dữ liệu) với thông tin của chủ sở hữu (components/Feed.js)
2) Đọc dữ liệu từ hợp đồng: phương pháp getPhoto
getPhotoGọi phương pháp hợp đồng:
getTotalPhotoCount()Nếu không có ảnh, hãy gọi hàm
setFeedvới một mảng trống.Gọi phương pháp hợp đồng:
getPhoto(id)Nếu có ảnh, lấy dữ liệu mỗi ảnh làm promise và đẩy nó vào mảng nguồn cấp dữ liệu. Khi tất cả promise đã được xử lý, quay lại mảng nguồn cấp dữ liệu.
Gọi hoạt động redux:
setFeed(feed)Lấy mảng nguồn cấp dữ liệu đã xử lý và lưu vào cửa hàng redux.
3) Lưu dữ liệu vào cửa hàng: hành động setFeed
setFeedSau khi tìm nạp thành công dữ liệu ảnh (nguồn cấp dữ liệu) từ hợp đồng Klaystagram, ta gọi hành động setFeed(feed). Hành động này lấy dữ liệu ảnh làm tải trọng và lưu vào cửa hàng redux.
4) Hiển thị dữ liệu trong thành phần: thành phần Feed
FeedỞ lần đầu tiên, bạn chỉ có thể thấy lời nhắn "Không có ảnh :D" vì chưa có dữ liệu ảnh trong hợp đồng. Hãy tạo một thành phần UploadPhoto để gửi dữ liệu ảnh đến hợp đồng!
Last updated