[英]eslint-plugin-react-hooks is giving unexpected errors (react-hooks/exhaustive-deps)
我有一個問題,我的 vscode eslint 給了我錯誤的警告。 我在反應組件中有一個簡單的 function ,我正在嘗試使用 useCallBack 掛鈎進行優化。
這是簡單的 function ,其中我得到了兩個道具,並且在我創建的參數 object 中使用,根據文檔,我將這兩個道具作為 useCallBack 的依賴項。
const Test = ({ ReportAddressNumber, ClientNumber }) => {
const [test, setTest] = useState({ count: 0 });
const fetchSampleIDs = useCallback(() => {
setTest(true);
const URL = `/Samples`;
const params = {
ReportAddressNumber,
ClientNumber,
};
fetch(URL, params)
}, [ClientNumber, ReportAddressNumber]);
useEffect(() => {
fetchSampleIDs();
}, [fetchSampleIDs]);
return <h1>{test.count}</h1>;
};
現在問題出在 vscode 中,它告訴我這兩個道具作為 useCallback 中的依賴項是不必要的。
React Hook useCallback has unnecessary dependencies: 'ClientNumber' and 'ReportAddressNumber'. Either exclude them or remove the dependency array.eslint(react-hooks/exhaustive-deps)
我可以用我的.eslintrc
和package.json
文件重現這一點。 我創建了這個代碼框來解決這個問題,為了查看實際問題,您需要將代碼框導出為 zip 並運行npm install
並在 vscode 中查看它。
https://codesandbox.io/s/kind-mahavira-fvsub
我在這里感謝您的知識和貢獻,謝謝。
花了4個小時后,我終於得到了答案。
存在沖突的依賴關系。 我正在使用eslint-config-airbnb: 16.1.0
,它不包括任何 react-hooks linting 配置。 但是,我自己安裝了與eslint-config-aribnb
版本沖突的eslint-plugin-react-hooks
。
按照說明升級eslint-config-airbnb
可以解決我的問題。 如果有人有同樣的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.