Как сделать совместимое соответствие между реагированием и реагированием нативного кода

Я столкнулся с запутанной ситуацией:

Это мои настройки package.json

 "dependencies": {
    "@expo/metro-runtime": "~3.1.3",
    "@expo/vector-icons": "^14.0.0",
    "@react-navigation/native": "^6.1.17",
    "@react-navigation/native-stack": "^6.9.26",
    "@react-navigation/stack": "^6.3.29",
    "@rneui/themed": "^4.0.0-rc.8",
    "axios": "^1.6.8",
    "body-parser": "^1.20.2",
    "expo": "^51.0.0",
    "expo-auth-session": "~5.5.2",
    "expo-clipboard": "~6.0.3",
    "expo-image-picker": "~14.7.1",
    "expo-mail-composer": "^13.0.1",
    "expo-status-bar": "~1.11.1",
    "openai": "^4.40.1",
    "react-dom": "^18.2.0",        <=======
    "react": "18.2.0",              <=======
    "react-native": "0.74.1",        <=======
    "react-native-windows": "0.74.5",
    "react-native-paper": "^5.12.3",
    "react-native-picker-select": "^9.1.3",
    "react-native-web": "~0.19.6"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@testing-library/jest-native": "^5.4.3",
    "@testing-library/react-native": "^12.5.0",
    "@types/express": "^4.17.21",
    "@types/react": "~18.2.45",
    "jest": "^29.7.0",
    "typescript": "^5.1.3"
  },

и под этим когда я бегаю npm install это показало бы мне

введите сюда описание изображения

Тогда я меняю

 "dependencies": {
    "@expo/metro-runtime": "~3.1.3",
    "@expo/vector-icons": "^14.0.0",
    "@react-navigation/native": "^6.1.17",
    "@react-navigation/native-stack": "^6.9.26",
    "@react-navigation/stack": "^6.3.29",
    "@rneui/themed": "^4.0.0-rc.8",
    "axios": "^1.6.8",
    "body-parser": "^1.20.2",
    "expo": "^51.0.0",
    "expo-auth-session": "~5.5.2",
    "expo-clipboard": "~6.0.3",
    "expo-image-picker": "~14.7.1",
    "expo-mail-composer": "^13.0.1",
    "expo-status-bar": "~1.11.1",
    "openai": "^4.40.1",
    "react-dom": "^18.3.1",     <========
    "react": "18.3.1",          <========
    "react-native": "0.74.1",       <========
    "react-native-windows": "0.74.5",
    "react-native-paper": "^5.12.3",
    "react-native-picker-select": "^9.1.3",
    "react-native-web": "~0.19.6"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@testing-library/jest-native": "^5.4.3",
    "@testing-library/react-native": "^12.5.0",
    "@types/express": "^4.17.21",
    "@types/react": "~18.2.45",
    "jest": "^29.7.0",
    "typescript": "^5.1.3"
  },

тогда мне это показывает введите сюда описание изображения

Каждый раз, когда я

  1. удалите package-lock.json и node_modules
  2. беги npm install

Я знаю, что могу бежать npm install --legacy-peer-deps

Я в полном замешательстве.

  • Возможно, я ошибаюсь, но я не нашел ничего, связанного с тем, какая версия реакции/реакции dom совместима с текущей реакцией Native (0.74.1).
  • И я хотел бы спросить, какие негативные последствия это будет иметь в будущем, если эта проблема не будет решена?

Большое спасибо!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
174
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте это в npm:

watchman watch-del-all && rm -rf yarn.lock && rm -rf node_modules/ && rm -fr $TMPDIR/metro*

Я надеюсь, что это помогает

Ответ принят как подходящий

https://react-native-community.github.io/upgrade-helper/

Вы можете использовать этот инструмент для проверки совместимых версий в автоматически созданном package.json.

Другие вопросы по теме

Общий TypeScript для управления данными Supabase
Возникла проблема при оценке проекта «:react-native-firebase_app». Слишком поздно задавать пространство имен. Он уже прочитан для настройки этого проекта
Как мне изменить цвет кнопки при нажатии в React Native?
Нужно ли мне опубликовать приложение Facebook, чтобы запустить в производство мое собственное приложение React, использующее вход в Facebook?
Как мне подключить серверную часть проекта React Native Amplify к моему интерфейсу, размещенному в мобильных магазинах?
Ошибка: [auth/missing-client-identifier] В этом запросе отсутствует действительный идентификатор приложения, проверки целостности Play и проверки reCAPTCHA не увенчались успехом
Экспо зависло: экран «Добро пожаловать на Экспо»
Команда обновления eas выдает ошибку: ожидается, что экземпляр сервера Metro будет иметь открытые частные функции
Как запустить выставочный проект?
Как перейти с экрана вкладок на экран стека в React Native