React Native 使用lottie.js时出现错误类型错误:试图分配给只读属性

e37o9pze  于 2022-12-24  发布在  React
关注(0)|答案(3)|浏览(150)

我创建了一个加载器动画,安装了lottie.js,然后下载了loader.json文件,然后创建了组件ActivityIndicatior,如下所示

import React from "react";
import LottieView from "lottie-react-native";

function ActivityIndicator({ visible = false }) {
  if (!visible) return null;

  return (
    <LottieView autoPlay loop source={require("../animation/loader.json")} />
  );
}

export default ActivityIndicator;

然后我在列表屏幕中导入它并定义它const [loading,setLoading] = useState(false);

export default function ListingsScreens({ navigation }) {
  const [listings, setListing] = useState([]);
  const [error, setError] = useState(false);
  const [loading, setLoading] = useState(false);
  useEffect(() => {
    loadListings();
  }, []);
  const loadListings = async () => {
    setLoading(true);
    const response = await listingApi.getListings();
    setLoading(false);

    if (!response.ok) return setError(true);

    setError(false);

    setListing(response.data);
  };
  return (
    <ExpoScreen style={styles.screen}>
      {error && (
        <>
          <AppText> Could not retrieve the listings</AppText>
          <Button title="retry" onPress={loadListings} />
        </>
      )}
      <ActivityIndicator visible={true} />
      {/* <FlatList
        data={listings}
        keyExtractor={(listings) => listings.id.toString()}
        renderItem={({ item }) => (
          <CardList
            title={item.title}
            subtitle={"$" + item.price}
            imageUrl={item.images[0].url}
            onPress={() => navigation.navigate("ListingDetails", item)}
          />
        )}
      /> */}
    </ExpoScreen>
  );
}

bakd9h0s

bakd9h0s1#

重新启动您的服务器解决了错误。我也遇到了同样的问题。

bcs8qyzn

bcs8qyzn2#

确保你使用的是最新版本的lottie-react-native。升级到3.4.0为我修正了这个问题。

zkure5ic

zkure5ic3#

我也遇到过同样的问题,我通过美化我的lottie-react-native/lib/LottieView.js文件来解决它。

相关问题