nsnumber 类型的 json 值“2”无法转换为 nsstring
Posted
技术标签:
【中文标题】nsnumber 类型的 json 值“2”无法转换为 nsstring【英文标题】:json value '2' of type nsnumber cannot be converted to nsstring 【发布时间】:2019-01-19 10:47:15 【问题描述】:我正在使用从库中导入的 Carousel 制作 imageSlider:“react-native-banner-carousel”
我正在尝试获取本地存储在文件夹组件中的图像。我正在创建一个数组 if 图像,然后尝试通过 Carousel 呈现它们。
我肯定会收到类似的错误:“nsnumber 类型的 json 值 '2' 无法转换为 nsstring”
ImageSlider 代码:
const BannerWidth = Dimensions.get('window').width;
const BannerHeight = 260;
const images = [
require("./abc.jpg"),
require("./xyz.jpg")
];
export default class ImageSlider extends React.Component
renderPage(image, index)
return (
<View key=index>
<Image style= width: BannerWidth, height: BannerHeight source=uri:image />
</View>
);
render()
return (
<View style=styles.container>
<Carousel
autoplay
autoplayTimeout=5000
loop
index=0
pageSize=BannerWidth
>
images.map((image, index) => this.renderPage(image, index))
</Carousel>
</View>
);
const styles = StyleSheet.create(
container:
flex: 1,
backgroundColor: '#fff',
justifyContent: 'center'
,
);
因此,我应该能够渲染图像数组中显示的所有图像。但我收到了这个错误。 我哪里错了?
【问题讨论】:
【参考方案1】:您的问题在这里:
const images = [
require("./abc.jpg"),
require("./xyz.jpg")
];
require 不返回图片的 URL,而是返回媒体的内部索引。在你的情况下,我假设是 2,并且图像的界面需要一个字符串。
试试这个:
<Image style= width: BannerWidth, height: BannerHeight source=image />
【讨论】:
以上是关于nsnumber 类型的 json 值“2”无法转换为 nsstring的主要内容,如果未能解决你的问题,请参考以下文章
无法将 Float 类型的值转换为预期的参数类型 NSNumber
iOS报错[__NSCFNumber length]: unrecognized