Cam*_*ker 3 javascript reactjs react-native
我正在努力在我的反应原生项目中包含一些标志来代表国家.我发现你不能动态地要求像下面的例子中的图像做出反应原生.
require(`../assets/flags/32/${countryCode}.png`)
Run Code Online (Sandbox Code Playgroud)
所以考虑到我在这里找到的SO响应,我想创建一个带有switch语句的函数,该函数在传递正确的标志代码时会返回所需的图像.像下面这样的东西.
export const Flags = (countryCode) => {
switch (countryCode) {
case 'US':
return require('../assets/flags/32/US.png');
....
}
};
Run Code Online (Sandbox Code Playgroud)
给出这个解决方案,我将有超过200个案例.有没有更好的方法来做到这一点?
由于手动要求所有图像的繁琐程度,您是否可以将它们添加到App图像资源并通过它们进行处理uri?
<Image source={{uri: 'flags/32/'+countryCode}} style={{width: 32, height: 32}} />
Run Code Online (Sandbox Code Playgroud)
除此之外,我认为您的提案是唯一的其他解决方案..您可以通过将其作为JS模块进行轻微清理.
Flags.js
exports.US = require('../assets/flags/32/US.png')
exports.UK = require('../assets/flags/32/UK.png')
exports.FR = require('../assets/flags/32/FR.png')
exports.JP = require('../assets/flags/32/JP.png')
...
Run Code Online (Sandbox Code Playgroud)
然后就这样引用它.
Component.js
import Flags from './Flags'
<Image source={Flags[countryCode]} style={{width: 32, height: 32}} />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |