【问题标题】:React componentDidMount does not show axios responseReact componentDidMount 不显示 axios 响应
【发布时间】:2017-04-30 05:28:14
【问题描述】:

我有 React 组件 RandomQouteMachine,它应该从提供的 URL 获取响应并将其显示在页面上。我没有看到显示的响应。调试“组件安装了吗?”消息也丢失了..

import React, { Component } from 'react';
import axios from 'axios'; 
lass RandomQouteMachine extends Component {
  constructor(props) {
    super(props);

    this.state = {
      data: ""
    };    
  }

  componenetDidMount() {
    console.log('Did component mount ?');
    axios.get('https://api.icndb.com/jokes/random')
      .then((res) => {       
        this.setState({data:res.value.joke});
      })

  }
  render() {
    return (
      <div>
        Here it is:
      {this.state.data}
      </div>
    );
  }
}

export default RandomQouteMachine;

我是否正确使用了 componenetDidMount() ?我只能看到 'Here it is:' 显示在页面上

【问题讨论】:

    标签: reactjs axios


    【解决方案1】:

    检查您的拼写。

    componenetDidMount !== componentDidMount

    【讨论】:

    • 太好了,感谢;)也许你也可以帮助 TypeError: Cannot read property 'joke' of undefined。 Axios 响应应该让我得到 json
    • 您正试图从 res.value 获取数据。如果您查看 axios 网站上的文档,您需要从 res.data 获取信息
    猜你喜欢
    • 2022-11-22
    • 2022-11-25
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 2023-02-15
    相关资源
    最近更新 更多