这样做我的代码工作正常
<Image
source={require('../../assets/images/music_star.png')}
style={styles.musicStar}
/>
Run Code Online (Sandbox Code Playgroud)
但这样做会给我一个错误
let imgSource = '../../assets/images/music_star.png';
<Image
source={require(imgSource)}
style={styles.musicStar}
/>
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
需要未知模块"../../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');
Run Code Online (Sandbox Code Playgroud)
要将图像从父级传递给子级,您应该在父级中要求它:
/**
* 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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |