我拍了一张照片并用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'},
这是来自imageUrl的uri: 内容://媒体/外部/图像/媒体/ 21680
答案 0 :(得分:0)
构造函数是您应该直接修改/初始化state
的唯一时间(docs)。
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
}};
}