gpt4 book ai didi

javascript - 分配的响应数据显示 [object object] React Native

转载 作者:行者123 更新时间:2023-11-29 16:04:43 24 4
gpt4 key购买 nike

我在迭代从服务器端 (Laravel) 获得的验证错误时遇到问题。我可以获得错误响应并分配到状态错误数组中。但是当我 console.log 状态时,它会显示 [obeject object]。所以我无法迭代数组。你们能帮忙吗?

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(response.data.errors) 而不是 newState.push(response.data) 吗?

另外,打印JSON对象时,需要使用JSON.stringify。所以 console.log(JSON.stringify(this.state.errors)) 会以可读的 string 格式显示 JSON

关于javascript - 分配的响应数据显示 [object object] React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46888064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com