完全なエラー画像:エラー画像
フェッチ要求を行っていますが、発生するエラーを保存するために状態を設定したい場合。これを修正するにはどうすればよいですか?
コード:
onClickLogIn = (username, password) => {
const request = fetch('[SOMEAPILINK]', {
method: 'POST',
headers: {
Accept: 'text/javascript',
'Content-Type': 'text/javascript',
},
body: JSON.stringify({
username: username,
password: password,
login: 1
})
}).then(response => response.json()).then(responseJson => {
console.log(responseJson)
this.setState({
errorCheck: responseJson.error
})
}).catch(error => {
console.log("error")
})
// console.log(errorCheck);
console.log(request);
console.log("----ERROR CHECK ----")
console.log(this.state.errorCheck)
this.props.navigation.navigate("Second")
}
だから私がerrorCheckを設定したいときそのエラーが入ってくる...
ありがとう!
then(response => response.json()).then(responseJson => {
console.log(responseJson)
this.setState({
errorCheck: responseJson.error
})
this.props.navigation.navigate("Second")
})
=>メソッドthis.props.navigation.navigate("Second")
内にこのナビゲーションコードを追加してthen()
、更新後にナビゲーションを呼び出すようにするとstate
、エラーがなくなります。
=>オブジェクトではなく、state
usingsetState
関数を更新してみてください。
this.setState(function (prevState, props) {
return { errorCheck: responseJson.error}
})
オブジェクトが状態を更新するのにかかる時間を短縮します。
=>コードは次のようになります
then(response => response.json()).then(responseJson => {
console.log(responseJson)
this.setState(function (prevState, props) {
return { errorCheck: responseJson.error}
})
this.props.navigation.navigate("Second")
})
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加