Передача функции URL Aws непосредственно в URI изображения заставляет изображение меняться каждый раз, когда обновляется любая переменная состояния - PullRequest
0 голосов
/ 04 мая 2018

В моем собственном родном приложении я использую aws-sdk, который работает нормально, но как только изменяется любое состояние, изображение перезагружается. Я думаю, что реакция вызывает функцию всякий раз, когда изменение обнаруживается в моем URL. И поскольку aws sdk генерирует уникальный URL, изображение перезагружается при каждом изменении состояния. Я не хочу добавлять дополнительную переменную для изображения. Хотелось бы узнать, как я могу это исправить, т.е. передать функцию в image uri и сделать изображение неизменным при каждом изменении состояния. БЛАГОДАРЯ

Пользовательский интерфейс My Image, например, is-

 <Image        
   style={{width:100,height:150, resizeMode:'cover'}}
   source={{ uri:this.getAwsImageUrl(this.state.imurl) }}
 > 
 </Image> 

И мой getAwsImageUrl () -

  getAwsImageUrl(imgUrl) {
    var s3 = new AWS.S3({accessKeyId:'test', 
    secretAccessKey:'test', region:'test'});
    var img='';
    var params = {Bucket: 'test', Key:imgUrl};

      img=s3.getSignedUrl('getObject', params);

      console.log('imgggggggg=',img);
      return img;

}
...