【问题标题】:Can't Fetch API with Axios in ReactJS [closed]无法在 ReactJS 中使用 Axios 获取 API [关闭]
【发布时间】:2019-05-02 04:59:27
【问题描述】:

我已经完成并尝试了教程,但结果是一样的

当我想用 axios 检索 API 时,结果同样难以辨认。

也许这可能是一个重复的问题,但我很困惑完成它。

请帮忙

这是我的代码

constructor(){
        super();
        this.state={
            datas:[],
        }
    }
      componentDidMount() {
        axios
          .get('/jobs')
          .then(res => {
            const updatedData = res.datas.map(data => {
              return {
                  ...data
              };
            });
            this.setState({ datas: updatedData, err: null });
            // console.log(response)
          })
          .catch(err => {
            this.setState({ err: true });
          });
      }

从渲染端

render(){
        let datas = <p style={{textAlign:'center'}}>Something went wrong!</p>

        if(!this.state.err){
           let datas = this.state.datas.map(data => {
                return <Card
                        key={data.id}
                        desription={data.desription}
                        company={data.company}
                        />
            })
        }
        return(
            <div>
                <section>
                    <Navigation/>
                </section>

                <section>
                    <SearchBox></SearchBox>
                </section>

                <section>
                    <Category></Category>
                </section>

                <main>
                    {datas}
                </main>
            </div>
        )
    }

当我调用它时从控制台 here's the image

卡片组件图片: from card components

【问题讨论】:

  • 这似乎是一个错字问题。试试res.data 而不是res.datas
  • 还是不行,先生..

标签: javascript reactjs axios fetch-api


【解决方案1】:

实际的错误是什么?在页面上。

并且res.datas 应该是res.data,因为响应没有datas

我的帐户被一些反对票问题阻止了,有趣的是我必须重新编辑它们,即使我已经有接受的答案。我不明白这样做有什么意义。我很沮丧这个stackoverflow系统。

现在,我基本上什么也做不了,只能继续编辑我的问题,而且它们都已得到解答。这太荒谬了!!!

【讨论】:

  • 没有错误,但无法从 json 获取数据。我已经尝试在渲染的一部分中控制台“数据”,值为 [] 我不知道为什么?我是 reactjs 的新手
  • 是的,就像我说的响应中没有数据,在你的图片中它被称为数据,而不是数据
  • 另一件事是 datas 不是一个好名字。如果可以,请尝试更改它
  • 我已将名称更改为“工作”并按照您的方式进行操作,但结果保持不变
  • 好的,你的代码中的问题是这个const updatedData = res.datas.map(data =&gt; {response中没有数据。你需要把它改成数据
猜你喜欢
  • 2020-01-25
  • 1970-01-01
  • 2021-02-27
  • 2021-02-07
  • 2018-10-30
  • 2021-09-09
  • 1970-01-01
  • 2022-11-14
  • 2020-09-21
相关资源
最近更新 更多