更新我的 Expo 版本和其他软件包后,我在 Carousel.js 中收到此错误;
这是我的代码;
import React, { useState } from "react";
import { View, StyleSheet, Platform } from "react-native";
import Carousel, { Pagination } from "react-native-snap-carousel";
import Metrics from "../../styles/Dimensions";
import pagination from "./pagination";
const Slider = (props) => {
const [activeSlide, setActiveSlide] = useState(0);
const [data, setData] = useState(props.slideDatas);
const _renderItem = ({ item, index }) => {
return {item.component};
};
return (
<View style={styles.container}>
<Carousel
layout={props.assets ? "stack" : "default"}
data={data}
renderItem={_renderItem}
sliderWidth={373 * Metrics.horizontalScale}
itemWidth={327 * Metrics.horizontalScale}
onSnapToItem={(index) => setActiveSlide(index)}
/>
{pagination()}
</View>
);
};
export default Slider;
这是错误;
ERROR TypeError: Cannot read property 'style' of undefined, js engine: hermes
在此输入图片描述
我确定错误就在这里,因为当我将其从项目中删除时,没有问题。即使安装在项目中也没有问题,但是当我运行我的代码时,它给出了错误。
问题确实出在 react-native-snap-carousel 上,我认为它与新的博览会更新有关,鉴于 react-native-snap-carousel 是一个非常旧的库,一些依赖项可能不兼容。
我正在探索的唯一解决方案是使用 react-native-reanimated-carousel 一个更新、更高效、更灵活的库,您应该能够生成使用 react-native-snap- 创建的大多数轮播旋转木马。请记住,这个新库对于 react-native-reanimated 的使用稍微复杂一些,所以我建议在尝试翻译原始轮播之前先查看一些示例。