Bazı eyalet değiştiğinde bir toogle olan özel bir kanca yapıyorum.
Bir dizideki herhangi bir durumu geçirebilmeniz gerekir.
import { useState, useEffect } from 'react'
const useFlatListUpdate = (dependencies = []) => {
const [toggle, setToggle] = useState(false)
useEffect(() => {
setToggle(t => !t)
}, [...dependencies])
return toggle
}
export default useFlatListUpdate
Ve şu şekilde kullanılmalıdır:
const toggleFlatList = useFlatListUpdate([search, selectedField /*, anything */])
Ama bana şu uyarıyı veriyor
React Hook useEffect'in bağımlılık dizisinde bir forma öğesi var. Bu, doğru bağımlılıkları geçip geçmediğinizi statik olarak doğrulayamayacağımız anlamına gelir. Eslint (tepki kancaları / ayrıntılı deps)
Ayrıca işe yaramadığı başka bir durum daha var
const useFlatListUpdate = (dependencies = []) => {
const [toggle, setToggle] = useState(false)
useEffect(() => {
setToggle(t => !t)
}, dependencies)
return toggle
}
Bu bana uyarı veriyor
React Hook useEffect, dizi değişmezi olmayan bir bağımlılık listesine geçirildi. Bu, doğru bağımlılıkları geçip geçmediğinizi statik olarak doğrulayamayacağımız anlamına gelir. Eslint (tepki kancaları / ayrıntılı deps)
Uyarı yapmadan ve eslint'i devre dışı bırakmadan bu işi nasıl yapabilirim?
useEffect(() => { setToggle(t => !t) }, [dependencies])