setState
не синхронно, хотя я не уверен, что это действительно проблема. Я бы попробовал передать responseJson.allResources
напрямую и посмотреть, работает ли это для отладки, является ли обновление состояния проблемой:
const [allResources, setAllResources] = React.useState([])
function getallresources() {
fetch('API url', {...} ),
})
.then((response) => response.json())
.then((responseJson) => {
setAllResources(responseJson.allResources)
navigation.navigate("AllResources", {allResources: responseJson.allResources})
})
.catch((error) => {
console.error(error);
});
}
Если это сработает, возможно, setState
действительно проблема. Если это так, вы можете перемещаться из useEffect
следующим образом:
useEffect( () => {
if (allResources){
navigation.navigate("AllResources", {allResources: allResources})
}
}, [allResources])
(конечно, возьмите navigation.navigate
из обратного вызова .then
.) Если это не сработает, вы нужно посмотреть, как вы получаете доступ к своим allResources
нашим params
на экране AllResources.