reactjs - 如何解决数据表反应js中的表中没有可用数据的问题
问题描述
我是 react js 的新手,我想将数据库中的所有数据显示到数据表中,但我收到表中没有可用数据的错误。我还将 getStudent 添加到 useEffect 以便它可以连续运行
这是我的 useState 和 useEffect 代码段:
const [student, setStudent] = useState([]);
const getStudent = async () => {
try {
const response = await fetch("http://localhost:5000/admin/get_allstudent");
const data = await response.json();
setStudent(data);
} catch (err) {
console.error(err.message);
}
};
const dataTable = () => {
$(document).ready(function () {
$("#example").DataTable();
});
};
useEffect(() => {
setInterval(dataTable, 1000);
getStudent();
}, []);
这是我的渲染:
<table id="example" className="display ">
<thead>
<tr>
<th>Name</th>
<th>Username</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{student.map((item, index) => {
return (
<tr key={item.stu_id}>
<td>{item.stu_name}</td>
<td>{item.stu_username}</td>
<td>
<Edit item={item} />
<button className="btn btn-danger" onClick={()=> deleteStudent(item.stu_id)}
>
Delete
</button>
</td>
</tr>
);
})}
</tbody>
</table>;
解决方案
我不知道您的代码中的 jQuery 部分,我认为这没有必要
首先尝试删除该部分,然后检查学生是否有价值
您可以使用 useEffect检查学生值
useEffect(() => {
if (student) console.log('data is ok ' , student)
}, [student]);
如果消息出现在控制台中并且它不是空的,那么应该没有问题
推荐阅读
- c# - 如何从 C# 中的向量 3 列表中删除向量以实现统一
- java - 在 Java 中将数组添加到队列(指针问题?)
- r - 根据间隔时的R情况
- string - 如何在 Scala 中处理巨大的字符串?
- python - IP地址更改为整数
- android - 多种颜色的微调器
- java - 为什么在 selenium 网格中使用 chrome remotewebdriver 时无法捕获网络日志?
- logstash - Logstash 没有将数据推送到 elasticsearch
- azure - 如何为我的新 Azure Active Directory 域获取邮箱?
- powerbi - Power BI Embedded 是否支持交叉报表钻取?