私は、入力フィールドの変更に応じて起動するハンドラを持っています。しかし、コンソールに状態を記録するとresDataは 'undefined'になりますか? console.log(body)は結果を返すので不可能です。setStateの後の状態は未定義ですか?
handlePersonNameChange(event) {
var resData
request('https://swapi.co/api/people/?search='+event.target.value, function (error,response,body) {
console.log(body)
resData = body
})
this.setState({personData: resData});
console.log(this.state)
}
リクエストコールバック内で状態を設定する必要があります。また、Reactの設定状態は非同期であるため、次の行で 'setState()'と 'console.log(this.state)'を実行できず、状態が更新されることが期待されます。 – Jayce444
この場合、TypeErrorが返されます:this.setStateは関数ではありません – elvezet13