請問我的反應類,我試圖更新我的狀態,但我得到這個錯誤「無法讀取屬性setState的未定義」..我已經嘗試每一個解決方案在線,但沒有運氣'this.setState'有什麼問題
這裏是代碼
export default class PageBackground extends Component{
constructor(props) {
super(props);
this.state={
lat :'nothing',
longi :''
};
this.getLocation=this.getLocation.bind(this);
}
componentWillMount() {
this.getLocation();
}
getLocation() {
fetch('http://freegeoip.net/json/')
.then((res)=>res.json())
.then(function (objec){this.setState({lat:objec.latitude,longi:objec.longitude});})
.catch((err)=>console.log("didn't connect to App",err))
console.log(this.state.lat)
}
render(){
return(
<p>{this.state.lat}</p>
)
}
}
您是否獲得控制檯日誌? – buoyantair
我認爲'this'是在函數的上下文中。也許你應該嘗試'that = this'和'that.setState' – AnkitG
有litterally一百萬重複這個非常錯誤。我很驚訝你沒能找到他們中的任何一個。 – Chris