Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种方法可以映射刚刚通过API调用接收到的数据,并在屏幕上显示所有字符名_Javascript_Reactjs - Fatal编程技术网

Javascript 有没有一种方法可以映射刚刚通过API调用接收到的数据,并在屏幕上显示所有字符名

Javascript 有没有一种方法可以映射刚刚通过API调用接收到的数据,并在屏幕上显示所有字符名,javascript,reactjs,Javascript,Reactjs,我使用react fetch方法对starwars http进行了API调用。我已经收到了数据,但一旦映射到数据上,似乎无法显示所有字符的名称 class App extends Component { constructor() { super() this.state = { loading: false, character: [] } }; componentDidMount() {

我使用react fetch方法对starwars http进行了API调用。我已经收到了数据,但一旦映射到数据上,似乎无法显示所有字符的名称

class App extends Component {
  constructor() {
      super()
      this.state = {
          loading: false,
          character: []
      }
  };


  componentDidMount() {
      this.setState({loading: true})
      fetch("https://swapi.co/api/people/?page=2")
          .then(response => response.json())
          .then(data => {
              this.setState({
                  loading: false,
                  character: data
              })
              console.log(this.state.character.results);        
          })
  }


  render() {
    return (
      <div className='dabba'>

        <ul>
            {
                this.state.character.results.map( (person, id) => {
                    return <li key={id}>{person.name}</li>
                } )
            }
        </ul>

      </div>
    );
  }




}

使用fetch时,我从该地址收到503响应。当您记录响应时,是否得到了有效的信息?如果没有,map将无法在未定义的对象上工作,因为它没有“response”键。

这是什么。state.character.results?results属性从何而来?因此,传入的信息有一个名为results的数组,它包含10个对象,我正试图映射这些对象并获取每个对象的名称。这也是starwar Movies中角色的名称每次我映射到{this.state.charecter.results}上时,我都会得到类型错误:无法读取未定义的属性“map”。嗨,api返回503错误,这不在我的修复能力范围内。除此之外,您还会遇到一个错误,因为当您的组件最初呈现时,它试图在尚未完成获取的对象上运行map。在初始状态下,您希望将加载设置为true。一旦api调用解决,您就可以将其转换为false。然后,在你的渲染方法中,在元素中,你可以检查加载是否正确,比如:{this.state.loading?loading…:/*你调用map here*/}非常感谢!!!这很有效。我现在也得到了503,但在我得到数据之前,我要求的是《星球大战》中的角色名称和属性。我现在收到的数据基本上是一个数组,里面有10个对象,每个对象都有一个名称和高度/重量,我正试图访问这些数据