Menghadapi masalah tidak dapat mengakses fail data.json dan menapis kad/komponen baharu
P粉032977207
2023-08-16 19:28:38
<p>Jadi saya telah menyediakan halaman saya untuk mendapatkan id daripada halaman sebelumnya. Jika saya klik pada imej 4 ia menunjukkan url (/Food/4) dan seterusnya. Jadi saya mendapat maklumat yang betul dari halaman sebelumnya. Sekarang masalah yang saya hadapi ialah menggunakan fetch untuk mendapatkan fail data.json saya, dapatkan maklumat daripada json dan kemudian berikan maklumat pada halaman berdasarkan id. Jadi jika saya klik pada imej 4 dan hantar id ke halaman baharu saya, saya mahu memaparkan data untuk imej 4 daripada fail json. Saya telah mencuba beberapa tetapan pengambilan yang berbeza dan juga tetapan axios tetapi saya benar-benar buntu. Adakah saya perlu melaksanakan useParams? params.id? Terima kasih! </p>
<pre class="brush:php;toolbar:false;">import React, { useState, useEffect } daripada 'react'
import { Link, useParams } daripada 'react-router-dom'
import data daripada './data.json'
eksport fungsi lalai Foodinfo() {
const params = useParams()
const [item, setItem] = useState();
useEffect(() => {
fetch('/data.json')
.then(respon => response.json())
.then(data => console.log(data));
})
kembali (
<div>
<h1>Maklumat Makanan</h1>
<img src={item.pic} />
<Pautan ke="/">
<butang>Menu</button>
</Pautan>
</div>
)
}</pre>
Akses data.json untuk penapisan
Nampaknya anda ingin memuatkan item berdasarkan
id
从JSON文件
yang dihantar melalui URL.Anda telah menetapkan status
data.json
文件导入到你的组件中,所以不需要使用fetch
或axios
来请求它。它已经作为变量data
存在于组件中。因此,你可以根据从URL获取的id
参数来过滤数据,然后使用相关对象设置item
terus.Beginilah anda harus mengemas kini komponen
Foodinfo
untuk menyelesaikan masalah anda:useParams
从URL中获取id
.id
解析为整数,因为params.id
将是一个字符串类型
,而JSON文件
boleh menggunakan nombor sebagai ID.data数组
中找到与URL中的id
相同的item
.setItem
函数将这个item
untuk menetapkan kepada status item.Kod terlaras: