我有一個資料庫,我正在嘗試對資料庫中的資料進行排序,并找到 name 屬性等于我指定的 id 變數的那個。盡管我在整理和查找與 id 變數相等的 name 屬性時遇到問題,但 id 變數仍然有效。這是我嘗試過的:
import {useParams} from "react-router-dom";
function StudentInfo() {
const {id} = useParams();
var studentData = {};
function infoGetter() {
fetch(
"{url that I put in real code}"
)
.then(response => response.json)
.then(data => {
Object.keys(data).filter((element) => {
if (data[element].studentName.toLowerCase() === id.toLowerCase()) {
studentData = {
studentName: data[element].studentName,
yearGroup: data[element].yearGroup,
currentSchool: data[element].currentSchool,
parentOrGuardian: data[element].parentOrGuardian,
phoneNumber: data[element].phoneNumber,
homeAddress: data[element].homeAddress
};
}
return studentData;
}).map((filteredElement) => data[filteredElement])
})
}
return (
<div className="btn-textfield">
<button className="btn-textfield" onClick={infoGetter}>
Id: {id}
<br/><br/>
StudentInfo:
<br/><br/>
{studentData.studentName}
{studentData.yearGroup}
{studentData.currentSchool}
{studentData.parentOrGuardian}
{studentData.phoneNumber}
{studentData.homeAddress}
</button>
</div>
);
}
export default StudentInfo;
我認為問題是將值分配給物件或排序。我感謝任何回應。
uj5u.com熱心網友回復:
我實際上不確定為什么在不考慮學生 ID 的情況下過濾資料物件,但我要做的是
Object.keys(data).filter(element => element.id === id ).map(student => {
// You will be able to find your current **student** right her
console.log(student);
})
無需在 if 條件中再次使用 Data 物件
uj5u.com熱心網友回復:
對不起。這是一個愚蠢的錯誤。我確實response => response.json忘記了括號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/333655.html
標籤:javascript 反应 数据库
