React表中顯示JSON數(shù)據(jù)demo
引言
可能每個網(wǎng)站都會以這樣或那樣的方式消耗數(shù)據(jù)。最常見的情況是,你會遇到需要在表中顯示數(shù)據(jù)的情況。
在本教程中,我們將研究如何獲取JSON數(shù)據(jù)并將其顯示在一個表中。
讓我們開始吧!
項(xiàng)目設(shè)置
通過在你的機(jī)器上創(chuàng)建react app或打開瀏覽器并訪問react.new來開始。
一個新的CodeSandbox環(huán)境將打開,并設(shè)置了React項(xiàng)目。
從API獲取數(shù)據(jù)
在React中,有很多方法來獲取數(shù)據(jù),但在本教程中,我們將使用**fetch()**函數(shù)來獲取假的JSON數(shù)據(jù)。
我們將使用一個假的JSON APIdummyjson.com/products,它返回隨機(jī)產(chǎn)品的數(shù)據(jù),然后我們將使用這些數(shù)據(jù)在我們的表中顯示:
// App.js
import { useEffect } from "react";
import "./App.css";
function App() {
useEffect(() => {
fetch(`https://dummyjson.com/products`)
.then((response) => response.json())
.then((actualData) => console.log(actualData))
.catch((err) => {
console.log(err.message);
});
}, []);
return (
<div>
<p>Hello, world!</p>
</div>
);
}
export default App;
在這段代碼中,我們在useEffect鉤子中獲取數(shù)據(jù),這樣它就只在初始渲染時加載數(shù)據(jù)。你可以在這里了解更多關(guān)于如何在React中獲取數(shù)據(jù)
運(yùn)行React應(yīng)用程序,你會在瀏覽器的控制臺中看到數(shù)據(jù):
接下來,我們將看到如何在一個表中顯示這些數(shù)據(jù)。
在React中創(chuàng)建一個表
在JSX里面創(chuàng)建一個普通的HTML表格。我們也可以使用react-table庫,它有一堆可用的功能,但為了本教程的目的,我們將使用普通的表格。
// App.js
import { useEffect, useState } from "react";
import "./App.css";
function App() {
useEffect(() => {
fetch(`https://dummyjson.com/products`)
.then((response) => response.json())
.then((actualData) => {
console.log(actualData);
})
.catch((err) => {
console.log(err.message);
});
}, []);
return (
<div>
<tbody>
<tr>
<th>Name</th>
<th>Brand</th>
<th>Image</th>
<th>Price</th>
<th>Rating</th>
</tr>
</tbody>
</div>
);
}
export default App;
現(xiàn)在,我們將利用useState鉤子來存儲我們獲取的所有數(shù)據(jù)。鉤子中的 數(shù)據(jù)變量是一個空數(shù)組,由 setData函數(shù)進(jìn)一步更新。
// App.js
import { useEffect, useState } from "react";
import "./App.css";
function App() {
const [data, setData] = useState([]);
const fetchData = () => {
fetch(`https://dummyjson.com/products`)
.then((response) => response.json())
.then((actualData) => {
console.log(actualData);
setData(actualData.products);
console.log(data);
})
.catch((err) => {
console.log(err.message);
});
};
useEffect(() => {
fetchData();
}, []);
return (
<div>
<tbody>
<tr>
<th>Name</th>
<th>Brand</th>
<th>Image</th>
<th>Price</th>
<th>Rating</th>
</tr>
{data.map((item, index) => (
<tr>
<td>{item.title}</td>
<td>{item.brand}</td>
<td>
<img src="{item.thumbnail}" alt="" height="{100}" />
</td>
<td>{item.price}</td>
<td>{item.rating}</td>
</tr>
))}
</tbody>
</div>
);
}
export default App;
在這段代碼中,我們正在映射數(shù)據(jù)數(shù)組,其中包含我們獲取的所有數(shù)據(jù),并將其顯示在表格中?,F(xiàn)在運(yùn)行React應(yīng)用程序并打開你的瀏覽器。
這里是最終的結(jié)果。

結(jié)論
在表格中顯示JSON數(shù)據(jù)并不是一項(xiàng)困難的任務(wù),但許多開發(fā)者都在努力尋找完美的方法來實(shí)現(xiàn)它。在本教程中,我們研究了如何從API中獲取JSON數(shù)據(jù)并在表中顯示。現(xiàn)在,請繼續(xù)努力,讓它變得漂亮。
以上就是React表中顯示JSON數(shù)據(jù)demo的詳細(xì)內(nèi)容,更多關(guān)于React表顯示JSON數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ReactNative實(shí)現(xiàn)的橫向滑動條效果
本文介紹了ReactNative實(shí)現(xiàn)的橫向滑動條效果,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),補(bǔ)充介紹了ReactNative基于寬度變化實(shí)現(xiàn)的動畫效果,感興趣的朋友跟隨小編一起看看吧2024-02-02
webpack 2.x配置reactjs基本開發(fā)環(huán)境詳解
本篇文章主要介紹了webpack 2.x配置reactjs基本開發(fā)環(huán)境詳解,具有一定的參考價值,有興趣的可以了解一下2017-08-08
詳解Stack?Navigator中使用自定義的Render?Callback
這篇文章主要為大家介紹了Stack?Navigator中使用自定義的Render?Callback使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
react中將html字符串渲染到頁面的實(shí)現(xiàn)方式
這篇文章主要介紹了react中將html字符串渲染到頁面的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
React Form組件的實(shí)現(xiàn)封裝雜談
這篇文章主要介紹了React Form組件的實(shí)現(xiàn)封裝雜談,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
使用react-native-image-viewer實(shí)現(xiàn)大圖預(yù)覽
這篇文章主要介紹了使用react-native-image-viewer實(shí)現(xiàn)大圖預(yù)覽,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
ReactNative實(shí)現(xiàn)圖片上傳功能的示例代碼
本篇文章主要介紹了ReactNative實(shí)現(xiàn)圖片上傳功能的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-07-07

