React Native - NSNumber无法转换为NSString
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native - NSNumber无法转换为NSString相关的知识,希望对你有一定的参考价值。
以下是我的反应组件的一部分。我有一个名为daysUntil的道具进入这个包含数字的组件。在这个例子中,它正在传递数字0,这导致fontWeight函数返回700
render: function() {
return (
<Text style={this.style()}>
{this.props.day}
</Text>
)
},
style: function() {
return {
fontWeight: this.fontWeight()
}
},
fontWeight: function() {
var weight = 7 - this.props.daysUntil;
return weight * 100;
}
我收到以下错误:
NSNumber类型的JSON值'700'无法转换为NSSTring。
我假设这是因为font-weight期望值为字符串格式。对此有什么正确的解决方法?
先感谢您!
在你的fontWeight()函数中
return weight * 100;
也许变成:
var val= weight * 100;
return val.toString();
我有一个类似的问题,我用图标而不是uri传递给图像。编写代码是为了接受icon = 'path/to/icon'
:
<Image source={{ uri: icon }}>
但我在icon = require('path/to/icon')
传递,我不得不将jsx切换到
<Image source={icon}>
fontWeight需要字符串值而不是整数。
只要确保你返回一个字符串:
return (weight * 100).toString();
确保您的“重量”变量不等于零。
您可以使用StyleSheet
模块中的react-native
,如下所示:
import StyleSheet from 'react-native'
// declare the styles using Stylesheet.create
const myStyles = StyleSheet.create({marginTop:30})
//... some code inside render method
<Text style={myStyles}>
This is an example
</Text>
反应字体重量应该是一个字符串,
在反应文件中,他们特别提到了fontWeight enum('normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900')
Specifies font weight. The values 'normal' and 'bold' are supported for most fonts. Not all fonts have a variant for each of the numeric values, in that case the closest one is chosen.
所以你可以选择以下
const boldText = {
fontWeigth: '100'
}
要么
const boldText = {
fontWeight: 'bold'
}
在这段代码中你可以说
style: function() {
return {
fontWeight: this.fontWeight()
}
},
fontWeight: function() {
var weight = 7 - this.props.daysUntil;
return (weight * 100).toString();
}
以上是关于React Native - NSNumber无法转换为NSString的主要内容,如果未能解决你的问题,请参考以下文章
nsnumber 类型的 json 值“2”无法转换为 nsstring
添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native
更新 react-native 后无法使用 react-native-debugger
无法从“App.js”解析“@react-navigation/native”-React Native + 如何解决?
React Native - 当 react-native 版本 > 0.55 时,无法通过 react-native-cli 创建新项目
React Native - pod 安装问题“无法加载此类文件.......node_modules/react-native/scripts/react_native_pods”