在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/

10-11 01:19