Кэш-изображения, загруженные из массива URL-адресов хранилища Firebase для более быстрого отображения?

Поэтому я использую Image Swiper и отображаю изображения, сохраненные в хранилище Firebase. Все URL-адреса сохраняются в массиве, и для каждого URL-адреса это новый слайд в Swiper. Проблема в том, что каждый раз, когда я провожу пальцем, он перезагружает изображение, что требует времени, особенно в дрянной сети. Есть ли способ кэшировать их все из массива, чтобы предотвратить загрузку каждый раз?

Swipper, который я использую, это "response-native-swiper". Попробовал использовать реакцию-родной-быстрый-образ вместо изображения, но не повезло.

class RecipeShow extends Component {
  static navigationOptions = ({ navigation }) => ({
    title: 'Recipe',
    headerLeft: <HeaderBackButton onPress={() => navigation.goBack(null)} />,
    headerTitleStyle : {
      fontFamily: Fonts.Pacifico
    }
  })

  constructor(props) {
    super(props)

    this.state = {
      recipe: this.props.navigation.state.params.recipe,
    };
  }

  render() {
    console.log(this.state);
    const { recipe } =  this.state;
    var d = new Date(recipe.timestamp);

    return (
      <View>
        <Card>
          <CardSection>
            <Text>{recipe.description}</Text>
          </CardSection>
          <CardSection>
            <Text>
              Posted on {d.getDate()} {d.getMonth()} {d.getFullYear()} by {recipe.uid}
            </Text>
          </CardSection>
          <CardSection>
            <Swiper loadMinimal loadMinimalSize={1} style={styles.wrapper} loop={false}>
              {
                recipe.uploadedURLs.map((item, i) => <Slide
                  uri={item}
                  i={i}
                  key={i} />)
              }
            </Swiper>
          </CardSection>
        </Card>
      </View>

    );
  }
}

0 ответов

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