在React Native上,我从键中获得了价值,但无法从先前的价值中获得价值。
例如我有以下json
{
"username":"xyz",
"xyz":{"role":3,"role_name":"abcd"}
}
我需要获取用户名,并且使用用户名值需要访问角色。我尝试了以下。
constructor(){
this.state={rol:'role',uname:'',xtext:'',}
}
fetch('example.com/url')
.then(response => response.json())
.then(responseobj => {
this.setState({
uname: responseobj.username,
xtest: responseobj[this.state.uname][this.state.rol],
});
我有用户名,但没有角色。
最佳答案
setState是异步的,因此状态尚未准备好,您可以使用以下命令:
then(responseobj => {
this.setState({
uname: responseobj.username,
xtest: responseobj[responseobj.username][this.state.rol],
});
或者,如果您确实要使用状态,请使用回调:
then(responseobj => {
this.setState({
uname: responseobj.username,
}, () => {
this.setState({
xtest: responseobj[this.state.uname][this.state.rol],
})
});
关于javascript - 如何使用获取API从JSON中的先前值获取值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50765835/