即時通訊一個例子。這裏是我的代碼如何檢查反應本身的變量是否爲空?
出口默認類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; } –
謝謝。這真的有幫助 –