Я работаю над собственным приложением для реакции. Это приложение использует базу данных, основной компонент использует 2 разных хука.
Первый хук извлекает результаты запроса SQL и сохраняет их в переменной.
Второй хук создает список из первой переменной
Вот так:
const [people, setPeople ] = useState([]);
useEffect (() => {
db.getAllPeople().then(row => setPeople(row))
},[])
const [listData, setListData] = useState([]);
useEffect(()=> {
setListData(
Array(people.length)
.fill('')
.map((_, i) => ({ key: `${i}`, name: `${people[i].name}`}))
)
}, [people]);
После этого мой основной компонент отображает SwipeList из результатов.
Вот проблема. Я использую другой компонент для добавления элемента в свою базу данных. Когда я вернусь к своему основному компоненту, я бы хотел, чтобы этот новый элемент отображался. Но проблема в том, что 2 перехватчика не вызываются при изменении компонента, и поэтому список остается неизменным.
Я пытался использовать useFocusEffect, но в моем случае он не работает.
Есть предложения?