reactjs - 如何遍历 Axios 对 React 中表的响应
问题描述
我正在尝试开发一个小型项目,以检索 React 和 Node 作为后端中可用列出的作业列表。有点卡在来自 axios 的响应上。这是从 axios 响应中得到的响应。
我想将数组数据显示到表格或列表中以显示可用作业
下面是检索数据的代码
import React, { useState, useEffect } from 'react'
import Layout from '../../core/Layout'
import axios from 'axios'
import { getCookie, isAuth, signout } from '../../auth/helpers';
const Find = () => {
const [values, setValues] = useState({
title:"",
duration:"",
durationSys:"",
budget:'',
addedBy:'',
category:'',
results:[],
searched: false
});
const { category} = values;
const token = getCookie('token');
const handleChange = category => event => {
console.log(event.target.value);
setValues({ ...values, [category]: event.target.value});
};
const handleClick = event =>{
event.preventDefault()
listJobs()
}
const listJobs = () =>{
axios.get( `${process.env.REACT_APP_API}/search-projects`,
{params: {category
}
})
.then(response => {
console.log('LOG SUCCESS --', response.data);
const data = response.data;
setValues({...values, results: data})
console.log('LOG STATE', data)
})
}
return (
<Layout>
<div class="form-group">
<label for="exampleFormControlSelect1">Category</label>
<select onChange={handleChange('category')} value={category} class="form-control"
id="exampleFormControlSelect1">
<option>--Select Category --</option>
<option value='Web Development'>Web Development</option>
<option value='Logo Design'>Logo Design</option>
<option value='Writing/Skills'>Writing/Skills</option>
<option value='Mobile App Development'>Mobile App Development</option>
<option value='SEO/Marketing'>SEO/Marketing</option>
</select>
</div>
<div class="d-flex justify-content-center">
<button onClick={handleClick} class="btn btn-default btn-info" style={{marginBottom: "15px"}}>Search</button>
</div>
<div>
<h5>List of available jobs</h5>
//here
</div>
</Layout>
)
}
export default Find;
解决方案
嗨,你可以做这样的事情。
<ul>
(results || []).map((item, index) => <li key={index}> {item}</li>
</ul>
我还建议将您的handleChange
函数(和其余函数)转换为useCallback
函数以减少不必要的更新。
推荐阅读
- r - 如何解决 RStudio 中的 TIFFOpen 错误弹出窗口?
- python - 如何为 django rest 框架 DecimalField 序列化器提供选择?
- react-native - ScrollView 不显示反应原生的所有内容
- javascript - 如何在删除前在 toastr 中要求确认
- javascript - 如何跨不同组件使用数据或方法
- swiftui - SwiftUI 中选取器和表单的奇怪行为
- php - 无法读取文件名输入yii2
- firebase - 如何检查传入的数字数据是否大于或小于 Firestore 安全规则中的某个限制?
- python - 如何在运行时更新包含在变量 V1 中的变量 V2
- nunit - nunit 3 在命令行上测试为 nunit 2.6.4