Реагировать на родную визуализацию изображения с CameraRoll Uri - PullRequest
0 голосов
/ 03 июня 2018

Я делаю снимок и сохраняю его с помощью CameraRoll, затем перемещаюсь с помощью Cameraroll URI в качестве параметра, чтобы я мог отобразить изображение в следующем виде, но когда следующий вид загружается без ошибок, но изображение не отображается:

      componentWillMount(){

      const params = this.props.navigation.state
      console.log('Params: ')
      console.log(params.params)
      let imageURL = params.params
      this.setState({imageUri:{
          uri: imageURL
        }
      });

    }

<View style={styles.container}>     
    <Image style={{flex: 1,flexDirection:'row', alignItems:'center', justifyContent: 'center'}} source={this.state.imageUri}/>             
</View>

стиль:

container:{ flex:1, justifyContent:'flex-start',alignItems:'center'},

Это URI из imageUrl: content: // media / external / images / media / 21680

1 Ответ

0 голосов
/ 03 июня 2018

Конструктор - это единственный раз, когда вы должны изменять / инициализировать state напрямую ( документы ).Любые изменения в imageUri должны быть сделаны путем вызова this.setState({imageUri: {uri: imageURL}}).

Вместо

 constructor(props){
   super(props);
   const params = this.props.navigation.state
   console.log('Params: ')
   console.log(params.params)
   let imageURL = params.params
   this.setState({imageUri: {
     uri: imageURL
   }});
 }

Вы должны иметь

constructor(props){
   super(props);
   const params = this.props.navigation.state
   console.log('Params: ')
   console.log(params.params)
   let imageURL = params.params
   state = {imageUri: {
     uri: imageURL
   }};
 }
...