Я пытаюсь загрузить соответствующее видео react-native-youtube
standaloneplayer, в зависимости от того, какие параметры передаются компоненту.
Он отлично работает при первой загрузке, но когда я нажимаю кнопку «Назад» и возвращаюсь на страницу с помощью react-navigation
и с другим id
, видео остается таким же - как я могу поменять плеер с новыми реквизитами :
<Text
onPress={() => {
NavigationService.navigate("VideoPlayer", { id });
}}
style={styles.text}
>
Мой компонент видеоплеера:
class VideoPlayer extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
};
}
render() {
const { id: propId } = NavigationService.getParams();
const { videos } = this.props;
// videos is array of objects
let videoProps = videos.find(obj => obj.id == propId);
let { id, icon, title, description, youtubeVideo, preview } = videoProps;
const url = `https://img.youtube.com/vi/${youtubeVideo}/0.jpg`;
return (
<View style={styles.container}>
<TouchableOpacity
onPress={() =>
YouTubeStandaloneAndroid.playVideo({
apiKey: "AIzaSyBXX5qe0B2hb1HzvIvExJZbqspeG9dg0Dk",
videoId: youtubeVideo,
autoplay: true,
lightboxMode: true,
startTime: 124.5
})
.then(() => console.log("Android Standalone Player Finished"))
.catch(errorMessage => console.log(errorMessage))
}
>
<Image style={styles.image} source={{ uri: url }} />
</TouchableOpacity>
<Text>{description}</Text>
</View>
);
}
}
const mapStateToProps = state => {
return {
videos: state.videos
};
};