即时通讯一个例子。这里是我的代码如何检查反应本身的变量是否为空?
出口默认类NEWAPP扩展组件{
render() {
var data = this.getWeatherFromApiAsync()
return (
if(data != null)
{
<View>
<Text>got data</Text>
</View>
}else
{
<View>
<Text>no data</Text>
</View>
}
);
}
getWeatherFromApiAsync() {
return fetch('http://api.openweathermap.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=14&APPID=18dcba27e5bca83fe4ec6b8fbeed7827')
.then((response) => response.json())
.then((responseJson) => {
this.setState({isLoading: false, jsonData: responseJson});
console.log(responseJson);
return responseJson;
})
.catch((error) => {
console.error(error);
});
}
}
这给了以下错误
E:/REACT_NATIVE_PROJECTS/newApp/index.android.js:意外的令牌(25:6) 在E:\ REACT_NATIVE_PROJECTS \ NEWAPP \ index.android.js:25:6 processBundleResult DevServerHelper.java:381 获得$ 400 DevServerHelper.java:65 执行 开发者erverHelper.java:333 emitChunk MultipartStreamReader.java:69 readAllParts MultipartStreamReader.java:116 onResponse DevServerHelper.java:321 执行 RealCall.java:126 运行 NamedRunnable.java:32 runWorker 的ThreadPoolExecutor。 Java的:1113 运行 ThreadPoolExecutor.java:588 运行 Thread.java:818
我该怎么办错了。比较部分?
如果我有变量“数据”,其中它含有前人的精力一个jsonString。我如何检查'数据'是否有值或者是空的? –
在你的渲染函数的顶部你可以做到这一点 render(){ const checkdata = data?data:null; } –
谢谢。这真的有帮助 –