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

Итак, я использую 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>

    );
  }
}
...