React表中顯示JSON數(shù)據(jù)demo
引言
可能每個(gè)網(wǎng)站都會(huì)以這樣或那樣的方式消耗數(shù)據(jù)。最常見(jiàn)的情況是,你會(huì)遇到需要在表中顯示數(shù)據(jù)的情況。
在本教程中,我們將研究如何獲取JSON數(shù)據(jù)并將其顯示在一個(gè)表中。
讓我們開(kāi)始吧!
項(xiàng)目設(shè)置
通過(guò)在你的機(jī)器上創(chuàng)建react app或打開(kāi)瀏覽器并訪問(wèn)react.new來(lái)開(kāi)始。
一個(gè)新的CodeSandbox環(huán)境將打開(kāi),并設(shè)置了React項(xiàng)目。
從API獲取數(shù)據(jù)
在React中,有很多方法來(lái)獲取數(shù)據(jù),但在本教程中,我們將使用**fetch()**函數(shù)來(lái)獲取假的JSON數(shù)據(jù)。
我們將使用一個(gè)假的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;
在這段代碼中,我們?cè)?strong>useEffect鉤子中獲取數(shù)據(jù),這樣它就只在初始渲染時(shí)加載數(shù)據(jù)。你可以在這里了解更多關(guān)于如何在React中獲取數(shù)據(jù)
運(yùn)行React應(yīng)用程序,你會(huì)在瀏覽器的控制臺(tái)中看到數(shù)據(jù):
接下來(lái),我們將看到如何在一個(gè)表中顯示這些數(shù)據(jù)。
在React中創(chuàng)建一個(gè)表
在JSX里面創(chuàng)建一個(gè)普通的HTML表格。我們也可以使用react-table庫(kù),它有一堆可用的功能,但為了本教程的目的,我們將使用普通的表格。
// 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鉤子來(lái)存儲(chǔ)我們獲取的所有數(shù)據(jù)。鉤子中的 數(shù)據(jù)變量是一個(gè)空數(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)用程序并打開(kāi)你的瀏覽器。
這里是最終的結(jié)果。

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

