0
サーバー側(Laravel)から取得している検証エラーを繰り返し処理する際に問題が発生しています。エラーレスポンスを取得し、状態エラー配列に割り当てることができました。しかし、私はconsole.logときに私は[obejectオブジェクト]を示す状態。だから私は配列を反復することができません。あなたは親切に助けてくれますか?内部割り当てられた応答データshow [オブジェクトオブジェクト] Native応答
constructor(props){
super(props);
this.state={
userName:'',
userEmail:'',
userPassword:'',
errors:[]
}
}
axios({
method: 'post',
url: API_URL+'signup',
data: {
username: userName,
email: userEmail,
password: userPassword
}
})
.then((response) => {
var count = Object.keys(response.data.errors).length;
if (count > 0) {
console.log(response.data);
var newState = [];
newState.push(response.data);
this.setState({
errors: newState
})
}
console.log("error = " + this.state.errors); // console output: error = [object Object]
})
.catch((error) => {
console.log(error);
});
//機能をレンダリング私は
render() {
<Errors errors={this.state.errors} />
}
const Errors = (props) => {
return (
<View>{props.errors.map((error, i) => <Text key={i}>{error}</Text>)}</View>
);
}
私は今更新しています:newState.push(JSON.stringify(response.data.errors));とconsole.log(this.state.errors)...それは正常に動作します。しかし、状態が更新されたときにはエラーが表示されません。 @Lingaraju E V – WahidSherief
'AJAX'リクエストのサンプルレスポンスを表示できますか?そして 'newState.push(response.data)'を 'newState.push(response.data.errors)'に更新しましたか?私は 'response.data.errors'が' Array'であると仮定しています –
これは私の最新のアップデートです:https://paste.laravel.io/cad3a4d1-767a-4aa0-8190-3239ec8ccb03 – WahidSherief