對不起這個瑣碎的問題(也許),但我已經打了幾個小時的頭。錯誤在哪里?
import axios from 'axios';
import React, { useEffect, useState } from 'react'
import { SingleCoin } from '../config/api';
const {id} = useParams();
const [coins, setCoins] = useState();
const {currency, symbol} = CryptoState();
useEffect(()=>{
const fetchCoins = async () => {
const {data} = await axios.get(SingleCoin(id));
setCoins(data);
};
fetchCoins();
}, []);
React Hook useEffect has a missing dependency: 'id'. Either include it or remove the dependency array
uj5u.com熱心網友回復:
您在函式中使用的任何變數都useEffect
需要在依賴陣列中,以便可以對其進行監視,并且僅當該變數更改時才會運行 useEffect。
useEffect(()=>{
const fetchCoins = async () => {
const {data} = await axios.get(SingleCoin(id));
setCoins(data);
};
fetchCoins();
}, [id]);
添加id
到作為 的第二個引數的陣列useEffect
以清除此錯誤。
參考
uj5u.com熱心網友回復:
useEffect 和其他一些鉤子需要提供一個依賴陣列。這是作為陣列傳遞的最后一個引數。依賴項告訴鉤子要觀察哪些變數或元素的變化。如果依賴項發生變化,鉤子也應該期待新的行為,并因此更新。
要解決您的問題,您需要在依賴項陣列中提供 id,因為警告狀態如下:React Hook useEffect has a missing dependency: 'id'
useEffect(()=>{
const fetchCoins = async () => {
const {data} = await axios.get(SingleCoin(id));
setCoins(data);
};
fetchCoins();
}, [id]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/497965.html
標籤:javascript 反应 axios 拿来
上一篇:從陣列中列印物件反應?