⊗jsrxPmWFRSD 14 of 57 menu

Lấy dữ liệu từ store trong component Redux

Trong bài học này, chúng ta sẽ hiển thị dữ liệu từ store trong component React.

Hãy mở ứng dụng sản phẩm của chúng ta, vào thư mục parts/products và tạo trong đó tệp ProductsList.jsx. Đầu tiên hãy import hook useSelector vào, dùng nó để lấy dữ liệu từ store:

import { useSelector } from 'react-redux'

Bây giờ hãy lấy các sản phẩm từ store. Chúng ta sẽ không tạo hàm selector riêng biệt, mà sẽ viết code của nó trực tiếp trong tham số cho useSelector:

export const ProductsList = () => { const products = useSelector((state) => state.products) }

Sau đó chúng ta sẽ hiển thị các sản phẩm bằng cách thông thường trong thân hàm ProductsList sau dòng lấy sản phẩm, sử dụng map:

const dispProducts = products.map((product) => ( <div key={product.id}> <h3>{product.name}</h3> <p>{product.desc.substring(0, 100)}</p> <p>Price: {product.price}</p> <p>Amount: {product.amount}</p> </div> ))

Và bên dưới chúng ta sẽ hiển thị dispProducts trong phần markup sau:

return ( <div> <h2>Sản phẩm</h2> {dispProducts} </div> )

Bây giờ chỉ cần hiển thị danh sách sản phẩm của chúng ta trên trang chủ. Hãy mở tệp root.jsx và sửa tiêu đề:

<h2>Đây là ứng dụng Redux đầu tiên của tôi!</h2>

Thành:

<h2>Ứng dụng Sản phẩm của Tôi</h2>

Sau đó import vào tệp component ProductsList:

import { ProductsList } from '../parts/products/ProductsList'

Và chèn nó vào div có id main-page ngay sau thẻ đóng hr:

<ProductsList />

Hãy chạy ứng dụng của chúng ta. Danh sách hai sản phẩm của chúng ta đã được hiển thị thành công trên trang chủ.

Mở ứng dụng sinh viên của bạn. Tạo tệp StudentsList.jsx trong thư mục students.

Lấy dữ liệu sinh viên từ store bằng hook useSelector, như mô tả trong bài học. Hiển thị tất cả các trường thông tin về sinh viên từ state, sử dụng map.

Import component đã tạo StudentsList vào root.jsx và hiển thị nó trên trang chủ. Đảm bảo rằng tất cả thông tin về sinh viên được hiển thị trên màn hình.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối