मैं एक कस्टम हुक बना रहा हूं जिसमें कुछ स्थिति बदलने पर एक टॉगल है।
आपको किसी भी राज्य को एक सरणी में पास करने में सक्षम होना चाहिए।
import { useState, useEffect } from 'react'
const useFlatListUpdate = (dependencies = []) => {
const [toggle, setToggle] = useState(false)
useEffect(() => {
setToggle(t => !t)
}, [...dependencies])
return toggle
}
export default useFlatListUpdate
और इसका उपयोग किया जाना चाहिए
const toggleFlatList = useFlatListUpdate([search, selectedField /*, anything */])
लेकिन यह मुझे निम्नलिखित चेतावनी देता है
प्रतिक्रिया हुक का उपयोग करें इसकी निर्भरता सरणी में एक फैल तत्व है। इसका अर्थ है कि हम सही रूप से सत्यापित नहीं कर सकते हैं कि आपने सही निर्भरताएँ पास की हैं। प्रतिक्रिया (प्रतिक्रिया-हुक / संपूर्ण-डिप्रेशन)
मेरे पास एक और स्थिति है जहां यह काम नहीं करता है
const useFlatListUpdate = (dependencies = []) => {
const [toggle, setToggle] = useState(false)
useEffect(() => {
setToggle(t => !t)
}, dependencies)
return toggle
}
इससे मुझे चेतावनी मिलती है
रिएक्ट हुक का उपयोग करेंफैटेक्ट एक निर्भरता सूची पारित किया गया था जो एक सरणी शाब्दिक नहीं है। इसका अर्थ है कि हम सही रूप से सत्यापित नहीं कर सकते हैं कि आपने सही निर्भरताएँ पास की हैं। प्रतिक्रिया (प्रतिक्रिया-हुक / संपूर्ण-डिप्रेशन)
मैं चेतावनी के बिना और एस्लेंट को अक्षम किए बिना यह काम कैसे कर सकता हूं?
useEffect(() => { setToggle(t => !t) }, [dependencies])