Я бы сделал это следующим образом:
1) Создать FlatList:
<FlatList
data={//list of users}
renderItem={this.renderList}
keyExtractor={(item, index) => index.toString()}
/>
2) Каждый элемент в FlatList является пользовательским компонентом. Навигационные реквизиты также передаются компоненту вместе с данными. Функция обработчика для renderItem
приведена ниже:
renderList = ({ item }) => (
<UserSummary data={item} navigation={this.props.navigation} />
);
3) UserSummary на самом деле является элементом Touchable (скажем, Touchable Opacity), а обработчик события onPress для этого приведен ниже:
onPress={() =>
props.navigation.navigate("UserDetailsScreen", {
userDetails: props.data
})
Обратите внимание, что я также передал некоторые данные вместе с навигацией. Допустим, это какой-то уникальный идентификатор пользователя. Эта информация может быть использована в UserDetailsScreen для отображения деталей пользователя.
Надеюсь, это даст вам представление.