嗨。我的程式碼有問題,由於某種原因,即使 url 加載完美,鉤子也不會將資料分配給我的變數。
我將放置影響此問題的程式碼片段以及完美運行的 api。
API(範例):
http://127.0.0.1:8000/api/inventory/item/raw_material/1/
APP.js
<div className="App-container_map"> {selectedProduct ? ( <Routes> {/* Define the routes for each category */} <Route path="/raw_material" <------ element={<RawMaterial onReset={handleResetProduct} />} /> <Route path="/consumibles" <------ element={<Consumibles onReset={handleResetProduct} />} /> {/* Add more routes for other categories as needed */} </Routes> ) : ( <div> <Link to={'/Inventory'}> <button>Inventory</button> </Link> <Link to="/"> <button>Some Other Subject</button> </Link> </div> )} </div>
RawMaterial.JS
const RawMaterial = ({ onReset }) => { const { category, id } = useParams() const [ productDetails, setProductDetails ] = useState(null); const [error, setError] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const fetchDetailedItem = async () => { try { const details = await fetchSpecificDetailedItem(category, id); setProductDetails(details); } catch (error) { setError(error.message); } finally { setLoading(false); } };
API.js
export const fetchSpecificDetailedItem = async (category, id) => { if (!category || !id) { console.error('Error: Category or ID is not defined', { category, id }); throw new Error('Category or ID is not defined'); } try { const url = `${BASE_URL}/item/${category.toLowerCase()}/${id}/`; console.log('Requesting URL:', url); const response = await axios.get(url); return response.data; } catch (error) { console.error('Error fetching specific item details:', error); throw error; } };
如果需要更多信息,我會提供。
當我為該 url 創建 console.log 時,會出現完全相同的 url,這就是為什麼問題一定出在此處的某個地方,我不知道。
此外,我沒有使用「/raw_material/id/」作為路徑,因為當我使用點擊功能時,什麼也沒有發生;反應似乎沒有看到任何路徑。
以上是鉤子問題(useParams)的詳細內容。更多資訊請關注PHP中文網其他相關文章!