【发布时间】:2021-07-04 13:38:53
【问题描述】:
我是 React Native 的新手。我正在将 API 中的数据添加到平面列表中。如何将选定的项目 ID 发送到新屏幕?这是我的主屏幕代码:
import React, { useEffect, useState } from 'react';
import { View, Text, TouchableOpacity } from 'react-native';
import { useThemedValues } from '../Theming';
import getStyles from "./Styles/HomeScreenStyles";
import Axios from '../../API/AxiosConfig'
import { FlatList } from 'react-native-gesture-handler';
import { texts, useLocalization } from "../Localization";
const HomeScreen = (props) => {
const { styles, colors } = useThemedValues(getStyles);
const loc = useLocalization();
const [episodeList, setEpisodeList] = useState([])
useEffect(() => {
Axios.get('episode')
.then(response => {
let episodes = response.data.results
setEpisodeList(episodes)
})
.catch(error => {
console.log(error)
})
}, [])
const _renderEpisodesItem = ({ item }) => {
return (
<TouchableOpacity onPress={({ item }) => {
props.navigation.navigate("episode-detail-screen", {
dummy1: 1,
});
}}>
<View style={styles.episodeButton}>
<Text style={styles.episodeText}>
{loc.t(texts.season)}{item.episode.slice(1, 3)} - {loc.t(texts.episode)}{item.episode.slice(4, 6)}
</Text>
<Text style={styles.episodeNameText} numberOfLines={1}>{item.name}</Text>
</View>
</TouchableOpacity>
)
}
return (
<View style={styles.container}>
<FlatList
data={episodeList}
renderItem={_renderEpisodesItem}
keyExtractor={item => item.id}
style={styles.flatListContainer}
/>
</View>
);
};
export default HomeScreen;
我的目的是在新打开的页面上显示所选部分的信息。
【问题讨论】:
标签: javascript react-native react-hooks react-native-flatlist react-native-navigation