这样做我的代码工作正常
<Image
source={require('../../assets/images/music_star.png')}
style={styles.musicStar}
/>
但是这样做给我一个错误
let imgSource = '../../assets/images/music_star.png';
<Image
source={require(imgSource)}
style={styles.musicStar}
/>
我收到一个错误:
需要未知模块“ ../../assets/images/music_star.png”
我究竟做错了什么?如何要求将图像存储在react-native 0.14.2中的变量中?
您可以在文档中阅读更多内容,但基本上,为了使其正常工作,必须静态地知道require中的图像名称:
// GOOD
<Image source={require('./my-icon.png')} />
// BAD
var icon = this.props.active ? 'my-icon-active' : 'my-icon-inactive';
<Image source={require('./' + icon + '.png')} />
// GOOD
var icon = this.props.active ? require('./my-icon-active.png') : require('./my-icon-inactive.png');
要将图像从父级传递到子级,您应该在父级中要求它:
/**
* The entry point for the iOS app.
*/
import React, {
AppRegistry,
Component,
Image,
View,
} from 'react-native';
class Child extends Component {
render() {
return (
<Image source={this.props.image} />
)
}
}
export default class Parent extends Component {
render() {
return (
<View>
<Child image={require('./test.png')} />
</View>
);
}
}
AppRegistry.registerComponent('App', () => Parent);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句