Undefined не является объектом _react.PropTypes.array

Я использую React Native (Expo CLI). Поскольку я переустановил npm, у меня возникает эта ошибка при попытке запустить npm start Я обнаружил некоторые похожие ошибки, связанные с react-native-snap-carousel (я использую его).

TypeError: undefined is not an object (evaluating '_react.PropTypes.array')    
at node_modules\expo\build\environment\react-native-logs.fx.js:27:4 in error   
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:95:4 in reportException
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:141:19 in handleException
at node_modules\react-native\Libraries\Core\setUpErrorHandling.js:24:6 in handleError
at node_modules\@react-native\polyfills\error-guard.js:49:36 in ErrorUtils.reportFatalError
at node_modules\metro-runtime\src\polyfills\require.js:203:6 in guardedLoadModule
at http://192.168.1.6:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=android&dev=true&hot=false&strict=false&minify=false:202384:3 in global code 

Итак, внутри его основной файл импортируется {PropTypes} from "react"; и заменяется на import PropTypes from "prop-types"; (ранее установленный). Также изменено propTypes.items: PopTypes.array.isRequired на propTypes.items:PropTypes.array, то же самое на slideStyle (потому что я начал получать новые ошибки, связанные с items и slideStyle), но теперь я получаю новые ошибки, подобные этой . Все ошибки связаны с react-native-snap-carousel

Вот мой package.json

Вот как я использую react-native-snap-carousel

import React, { useState, useEffect } from "react";
import {
  View,
  StyleSheet,
  Image,
  Dimensions,
  TouchableWithoutFeedback,
} from "react-native";
import { getBannersApi } from "../../Api/HomeBanner";
import Carousel, { Pagination } from "react-native-snap-carousel";
import { size } from "lodash";
import { useNavigation } from "@react-navigation/native";

import { SERVER_RESOURCERS } from "../../Utils/Constans";

const width = Dimensions.get("window").width;
const height = 160;

export default function Banner() {
  const [banners, setBanners] = useState(null);
  const [banneActive, setBanneActive] = useState(0);
  const navigation = useNavigation();

  useEffect(() => {
    (async () => {
      const response = await getBannersApi();
      setBanners(response.data);
    })();
  }, []);

  const goToProduct = (id) => {
    navigation.push("product", { idProduct: id });
  };

  if (!banners) return null;

  const renderItem = ({ item }) => {
    return (
      <TouchableWithoutFeedback
        onPress = {() => goToProduct(item.attributes.product.data.id)}
      >
        <Image
          style = {styles.carousel}
          source = {{
            uri: `${SERVER_RESOURCERS}${item.attributes.banner.data[0].attributes.formats.small.url}`,
          }}
        />
      </TouchableWithoutFeedback>
    );
  };

  return (
    <View style = {styles.container}>
      <Carousel
        layout = "default"
        data = {banners}
        sliderWidth = {width}
        itemWidth = {width}
        renderItem = {renderItem}
        loop = {true}
        onSnapToItem = {(i) => setBanneActive(i)}
        autoplay = {true}
        autoplayInterval = {5000}
        autoplayDelay = {2000}
      />
      <Pagination
        dotsLength = {size(banners)}
        activeDotIndex = {banneActive}
        inactiveDotOpacity = {0.6}
        inactiveDotScale = {0.6}
        containerStyle = {styles.dotsContainer}
        dotStyle = {styles.dot}
        dotColor = {styles.dot.backgroundColor}
        inactiveDotColor = {styles.dot.backgroundColor}
      />
    </View>
  );
}
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
0
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Я заметил, что react-native-snap-carousel больше не поддерживается, поэтому я перешел на react-native-reanimated-carousel

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