Ok so the problem is in title, i update a state value to use it right after into a React Navigation object who will be send as params to next page.
here my state declaration :
const [dataForDetailsPage, setDataForDetailsPage] = useState('')
here my onPress :
{results.map((item, i) =>
<ListItem thumbnail key={i} style={{ marginBottom: 5, marginTop: 5 }}>
<Left>
{itemPicture !== undefined ?
<Thumbnail square large source={{ uri: results[i].media.logo.big }} />
: <Thumbnail square large source={{ uri: results[i].media.logo.small }} />
}
</Left>
<Body>
<Text style={{ fontWeight: 'bold', fontSize: 16 }}>{item.name}</Text>
<Text note numberOfLines={1}>{item.address}</Text>
<Text note numberOfLines={1}>{item.postalcode} {item.city}</Text>
</Body>
<Right >
<Text style={s.voirPlusBtnTxt} onPress={() => { goToDetailPage(item.name) }}>Voir +</Text>
</Right>
</ListItem>
)}
and here my function called onPress event :(had to found a trick but only works on double click cause first time i click i don't enter in second condition somehow even if i change my state value before)
function goToDetailPage(itemName) {
setDataForDetailsPage(itemName)
console.log('itemName : '+itemName) //itemName return the value i want
if(dataForDetailsPage === ''){
setDataForDetailsPage(itemName)
}
if(dataForDetailsPage != ''){
console.log('DataForDetailsPage : '+ dataForDetailsPage)
navigation.navigate('Details', {
nameFromResultsPage: dataForDetailsPage
})
}
}
i tryed to put the function as async function and do a await before setDataForDetailPage but same problem.