Потренируемся передавать параметры при смене экранов.
Компонент App должен возвращать только контейнер навигации с подключенным стэк навигатором.
В стэке должен быть два экрана - первый с именем Games, второй с именем Details.
Первый экран должен отображать компонент screens/GamesList, второй - screens/GameDetails.
При этом первым должен загружаться экран Games.
Не изменяй компоненты screens/GamesList, screens/GameDetails.

Эта задача — часть курса по Full-Stack JavaScript.
Ты можешь задать свой вопрос в комментариях под постом.
Если ты уже решил задачу, то не стесняйся помочь другим.

App.js

import React from 'react';

export default function App() {
  return null;
}

app.json

{
  "expo": {
    "name": "1",
    "slug": "1",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#FFFFFF"
      }
    },
    "web": {
      "favicon": "./assets/favicon.png"
    }
  }
}

screens/GameDetails/index.js

import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

export default function GameDetails() {
  if (!params && !params.id) return null;

  return (
    <View style={styles.container}>
      <Text style={styles.header}>{params.name}</Text>
      <Text style={styles.description}>Platform: {params.platform}</Text>
      <Text style={styles.description}>Publisher: {params.publisher}</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    paddingVertical: 20,
    paddingHorizontal: 30,
  },
  header: {
    color: '#4730EB',
    marginBottom: 8,
    fontWeight: 'bold',
    fontSize: 20,
    textAlign: 'center',
  },
  description: {
    marginVertical: 10,
  },
});

screens/GamesList/index.js

import React from 'react';
import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';

const games = [
  {
    id: 1,
    name: 'Spider Man',
    platform: 'PS4',
    publisher: 'SIE (Sony Interactive Entertainment)',
  },
  {
    id: 2,
    name: 'Mortal Kombat',
    platform: 'XBox',
    publisher: 'Warner Bros. Games',
  },
];

export default function GameList() {
  return (
    <View style={styles.container}>
      {games.map((item) => (
        <View style={styles.item} key={item.id}>
          <Text>{item.name}</Text>
          <TouchableOpacity style={styles.button}>
            <Text style={styles.buttonLabel}>View details</Text>
          </TouchableOpacity>
        </View>
      ))}
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    paddingVertical: 20,
    paddingHorizontal: 30,
  },
  item: {
    marginBottom: 10,
    padding: 8,
    flexDirection: 'row',
    backgroundColor: 'white',
    borderRadius: 8,
    justifyContent: 'space-between',
  },
  button: {
    backgroundColor: '#4730EB',
    padding: 4,
    borderRadius: 4,
  },
  buttonLabel: {
    color: 'white',
  },
});