gpt4 book ai didi

javascript - 如何在ReactJS中迭代数据并在JSX中显示它们?

转载 作者:行者123 更新时间:2023-12-01 00:13:01 26 4
gpt4 key购买 nike

我有一个函数可以调用服务器并以json对象数组的形式检索数据,我想要的是迭代数据并将它们显示在中JSX .

问题是屏幕上没有显示任何内容,甚至没有出现错误。当我 console.log 时,我得到了这样的响应:

enter image description here

下面是组件

import React from 'react';
import axios from 'axios';

function Supplier(){

let suppliers_list=[];

React.useEffect(() => {
getAllSuppliers();
});


const getAllSuppliers = () =>{
return axios.get('http://localhost:4000/supplier',supplierData).then(
response=>{
let allSuppliers = response.data;

allSuppliers.forEach(element => {
suppliers_list.push(
<li>{element.supplier_name}</li>
);
});

},error =>{
//handle error
}
);
}


return(
<div>
<ul>
{suppliers_list}
</ul>
</div>
)
}
export default Supplier;

当我 console.log suppliers_list 时,我得到了这个:

enter image description here

最佳答案

更改您的代码,如下所示,

import React from 'react';
import axios from 'axios';

function Supplier(){

const [suppliersList, setSuppliersList] = React.useState([]);

React.useEffect(() => {
getAllSuppliers();
}, []); // Hoping you want to execute getAllSuppliers function only once, so [] empty square braces


const getAllSuppliers = () =>{
return axios.get('http://localhost:4000/supplier', supplierData).then(
response=>{
setSuppliersList(response.data);
},error =>{
//handle error
}
);
}


return(
<div>
<ul>
{suppliersList.map(supplierObject => {
return <li>{supplierObject.supplier_name}</li>
})}
</ul>
</div>
)
}
export default Supplier;

关于javascript - 如何在ReactJS中迭代数据并在JSX中显示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59940044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com