Reactjs values.map不是一个函数
我正在从数据库中获取详细信息,希望将其显示到表中,但出于最初的目的,我希望只在浏览器上显示,而不显示表和其他内容。。map不是一个函数,但我可以看到控制台中打印的值 这里我使用的是功能组件Reactjs values.map不是一个函数,reactjs,use-effect,Reactjs,Use Effect,我正在从数据库中获取详细信息,希望将其显示到表中,但出于最初的目的,我希望只在浏览器上显示,而不显示表和其他内容。。map不是一个函数,但我可以看到控制台中打印的值 这里我使用的是功能组件 export default function SimpleTable() { const [values, setValues] = useState({}); 下面是fetch函数 async function handleTable(){ const res = await fetch("http:/
export default function SimpleTable() {
const [values, setValues] = useState({});
下面是fetch函数
async function handleTable(){
const res = await fetch("http://localhost:4000/productslist")
const data = await res.json()
setValues(data.data)
console.log(data.data)
}
在useffect上调用fetch函数
useEffect(()=>{
handleTable()
},[])
将值呈现到浏览器中
return (
<div>
{console.log(values)}
{values.map(v => {
return <h4 key={v.idaddproducts}>{v.productName}{v.productId}{v.productBrand}</h4>})}
</div>
);
}
您可以设置一个值
{}
,而不是[]
。
更新
到
您可以设置一个值
{}
,而不是[]
。
更新
到
将状态定义为数组
const [values, setValues] = useState([]);
代码
{values&&values.map(v=>{
返回
{v.productName}{v.productId}{v.productBrand}
})
}
将您的状态定义为数组
const [values, setValues] = useState([]);
代码
{values&&values.map(v=>{
返回
{v.productName}{v.productId}{v.productBrand}
})
}
值的初始状态为空对象
从
更新至
const [values, setValues] = useState([]);
因为对象没有名为.map
同样在代码中,因为它是一个异步调用,所以您可以根据状态检查数据是否有负载。您可以添加一个简单的东西,即三元检查
{values.length && values.map(v => {
return <h4 key={v.idaddproducts}>{v.productName}{v.productId}{v.productBrand}</h4>})}
</div>
);
{values.length&&values.map(v=>{
返回{v.productName}{v.productId}{v.productBrand}}}
);
因此,一旦数组的长度大于零,它将只执行map函数
使用示例值的初始状态为空对象 从 更新至
const [values, setValues] = useState([]);
因为对象没有名为.map
同样在代码中,因为它是一个异步调用,所以您可以根据状态检查数据是否有负载。您可以添加一个简单的东西,即三元检查
{values.length && values.map(v => {
return <h4 key={v.idaddproducts}>{v.productName}{v.productId}{v.productBrand}</h4>})}
</div>
);
{values.length&&values.map(v=>{
返回{v.productName}{v.productId}{v.productBrand}}}
);
因此,一旦数组的长度大于零,它将只执行map函数
使用示例您将值初始值设置为
{}
而不是将其设置为[]
,因为初始值
是一个对象Array.map
是一个有效的原型。因此,将初始值更改为Arrayconst[values,setValues]=useState([])
您正在将值初始值设置为{}
,而将初始值设置为对象Array.map
是一个有效的原型。因此,将初始值更改为Arrayconst[values,setValues]=useState([])
您需要添加value.length作为三元检查,因为空数组是true-valueWorked-fine。。随着你所做的改变。。谢谢,您需要添加values.length作为三元检查,因为空数组是true valueWorked罚款。。随着你所做的改变。。谢谢,光是这个改变是行不通的。。我尝试了几次,可能是因为api响应中的值应该为null或未定义。仅此更改无法工作。。我试了好几次,可能是因为api响应中的值应该为null或未定义。你能帮我添加加载状态吗?你能推荐任何课程或链接吗?关于fullstack reactjsLet我们。你能帮我添加加载状态吗?你能推荐任何课程或链接吗?让我们来考虑一下。
const [values, setValues] = useState([]);
{values.length && values.map(v => {
return <h4 key={v.idaddproducts}>{v.productName}{v.productId}{v.productBrand}</h4>})}
</div>
);