Это простой FlatList:
class Products ..
render() {
return (
<FlatList
renderItem={this._renderItem}
);
}
Я хочу создать список элементов и перейти на страницу сведений по элементам onPress.
Может подскажите, какой метод лучше?
Метод 1:
Вставить навигацию к странице сведений в дочернем компоненте (CardProduct
компонент), например:
_renderItem = ({item}) => (
<CardProduct
id={item.id}
title={item.title}
/>
);
и в компоненте CardProduct:
render() {
const { id,title } = this.props;
return (
<Card style={{flex:1}}>
<CardItem cardBody button onPress={() => this.props.navigation.navigate('Details',{productId:id})}>
...
);
}
Метод 2:
Вставить навигацию к странице сведений в текущем компоненте (Products
компонент) следующим образом:
_onPressItem = (id: string) => {
this.props.navigation.navigate('Details',{productId:id});
};
_renderItem = ({item}) => (
<CardProduct
id={item.id}
title={item.title}
onPressItem={this._onPressItem}
/>
);
и в компоненте CardProduct:
_onPress = () => {
this.props.onPressItem(this.props.id);
};
render() {
const { id,title } = this.props;
return (
<Card style={{flex:1}}>
<CardItem cardBody button onPress={this._onPress}>
...
);
}
Я использовал метод 1, но прочитал это руководство .