函数名称后应包含换行符或分号+意外的标记

时间:2019-07-31 09:01:53

标签: react-native

我有以下代码:

export default class HomeScreen extends Component {

    state = {text: ''};

    _onPressSearch() {
        Alert.alert("Button pressed!")
    }

    function getCitiesListFromApiAsync() {
        return fetch("https://samples.openweathermap.org/data/2.5/find?lat=55.5&lon=37.5&cnt=10&appid=b6907d289e10d714a6e88b30761fae22.json")
            .then((response) => response.json())
            .then((responseJson) => {
                return responseJson.list;
            })
            .catch((error) => {
                Alert.alert("Error while loading: " + error);
            })
    }

    render() {
        return (<View style={styles.container}>
            <ScrollView style={styles.scrollViewContainer} contentContainerStyle={styles.contentContainer}>
                <View style={styles.searchContainer}>

                    <TextInput placeHolder="Type something!" onChangeText={(text) => this.setState({text})}
                               value={this.state.text}/>

                </View>

                <TouchableOpacity
                    onPress={this._onPressSearch}>
                    <View>

                        <Text>Search</Text>

                    </View>
                </TouchableOpacity>

                <View style={styles.container}>

                    <FlatList
                        data={this.getCitiesListFromApiAsync()}
                        renderItem={({item}) => <Text style={styles.item}>{item.name}</Text>}
                    />

                </View>

            </ScrollView>


        </View>);
    }
}

现在,我正尝试从服务器获取数据,将其解析并将其添加到列表中。我从以下API获取数据:https://samples.openweathermap.org/data/2.5/find?lat=55.5&lon=37.5&cnt=10&appid=b6907d289e10d714a6e88b30761fae22.json。我为此创建了一个特殊功能,与tutorial中的功能相同。但是我的IDE(Webstorm)将其标记为红色,并写上function名称后应该有换行符或分号,并且在运行应用程序时出现以下错误:

无法构建JavaScript捆绑包。     语法错误:/Users/siarhei.mikhaylouski/WebstormProjects/WeatherApp/screens/HomeScreen.js:意外令牌(23:13)

               function getCitiesListFromApiAsync() {
         |              ^
      24 |         return fetch("https://samples.openweathermap.org/data/2.5/find?lat=55.5&lon=37.5&cnt=10&appid=b6907d289e10d714a6e88b30761fae22.json")
      25 |             .then((response) => response.json())
      26 |             .then((responseJson) => {

怎么了,我该怎么解决?

1 个答案:

答案 0 :(得分:1)

在类中定义方法时,请勿使用function关键字。

只需写:

getCitiesListFromApiAsync() {
  // [...]
}