2016-03-29 41 views
0

Bu Binding context when calling ES6 method. How to access object from within method called as callback? kitabını kitabın ES5'ten ES6'ya refactor için kılavuz olarak kullanmaya çalışıyorum; Ancak, beklenmeyen jeton sorunumu izleyemiyorum. Bu dosyalar yapıcı işlev tamamlandıktan hemen sonra bana bir sorun verdi. Herhangi bir yardım takdir edilir.Bir Tepki Yerli Projesindeki Beklenmeyen Belirteç

WeatherProject.js

class WeatherProject extends Component { 
constructor(props) { 
super(props); 
this.state = { zip: '', 
forecast: null}; 
}, 

_handleTextChange(event){ 
let zip = event.nativeEvent.text; 
this.setState({zip: zip}); 
fetch('http://api.openweathermap.org/data/2.5/weather?q=' 
    + zip + '&units=imperial') 
    .then((response) => response.json()) 
    .then((responseJSON) => { 
    console.log(responseJSON); 
    this.setState({ 
     forecast: { 
     main: responseJSON.weather[0].main, 
     description: responseJSON.weather[0].description, 
     temp: responseJSON.main.temp 
     } 
    }) 
    }) 
    .catch((error) => { 
    console.warn(error); 
    }) 
}, 

render() { 
let content = null; 
if (this.state.forecast !== null) { 
    content = <Forecast 
       main={this.state.forecast.main} 
       description={this.state.forecast.description} 
       temp={this.state.forecast.temp}/>; 
} 

return (
    <View style={styles.container}> 
    <Image source={require('image!flowers')} 
      resizeMode= 'cover' 
      style={styles.backdrop}> 
    <View style={styles.overlay}> 
     <View style={styles.row}> 
     <Text style={styles.mainText}> 
      Current weather for 
     </Text> 
     <View style={styles.zipContainer}> 
     <TextInput 
      style={[styles.zipCode,styles.mainText]} 
      returnKeyType='go' 
      onSubmitEditing={this._handleTextChange} /> 
     </View> 
     </View> 
     {content} 
    </View> 
    </Image> 
    </View> 
); 
} 
} 

Forecast.js

class Forecast extends Component { 
    constructor(props) { 
    super(props); 
    this.state = { 
    zip: '', 
    forecast: { 
    main: 'Clouds', 
    description: 'few clouds', 
    temp: 45.7 
} 
}; 
}, 
render() { 
return (
    <View> 
    <Text style={styles.bigText}> 
     {this.props.main} 
    </Text> 
    <Text style={styles.mainText}> 
     Current conditions: {this.props.description} 
    </Text> 
    <Text style={styles.mainText}> 
     {this.props.temp} F 
    </Text> 
    </View> 
); 
} 
} 
+0

işlevinden sonra virgüllere ihtiyaç yoktur. Lütfen aldığınız hatayı iletebilirsiniz. – David

cevap

2

Her işlev sonunda virgül kaldırın. ES6 sözdiziminde, artık

+0

Bence bunu düzeltdim, teşekkürler. – jaysig

+0

Bu benim için sabit, teşekkürler! – Andi

İlgili konular