【发布时间】:2020-07-19 04:56:01
【问题描述】:
在这里没有编程经验...我一直在阅读一些关于此的问题,但无法正确解决。 我将 React 用于一个小型应用程序,并希望从 API 获取数据,在本例中为 Coinmarketcap,但它需要一个密钥,并且不知道如何通过 axios 传递它。 使用 Postman 发出测试请求,它工作正常。
这是 API 接收请求的方式(Node.js 示例):
const rp = require('request-promise');
const requestOptions = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
qs: {
'start': '1',
'limit': '5000',
'convert': 'USD'
},
headers: {
'X-CMC_PRO_API_KEY': 'b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c'
},
json: true,
gzip: true
};
rp(requestOptions).then(response => {
console.log('API call response:', response);
}).catch((err) => {
console.log('API call error:', err.message);
});
这是我的 React 文件的代码:
import React, { Component } from 'react'
import axios from 'axios'
class Prices extends Component {
state = {
cryptos: []
}
componenDidMount() {
axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest', {
headers: { 'X-CMC_PRO_API_KEY': 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' }
})
.then(res => {
console.log(res)
this.setState({
cryptos: res.data.slice(0,50)
})
});
}
render() {
return(
<div>asdf</div>
)
}
}
export default Prices
显然,我把钥匙藏在那里了。
- 应用程序运行正常
- 没有明显的错误,但也...
- 没有登录控制台
问题不在于我做错了什么,而在于……
在此先感谢您对我的帮助。
编辑: 父文件代码
import Layout from '../components/Layout'
import Prices from '../components/prices'
import axios from 'axios'
const Index = (props) => (
<Layout>
<div className="container">
<h1>Welcome to CoinInfo</h1>
<p>Check current Bitcoin rates</p>
<Prices />
</div>
</Layout>
)
export default Index
【问题讨论】:
-
您可以使用 .catch,查看您在 axios resquest 上遇到的错误。
axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest', { headers: { 'X-CMC_PRO_API_KEY': 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' } }) .then(res => { console.log(res) this.setState({ cryptos: res.data.slice(0,50) }) }).catch(e => console.log(e)) -
谢谢,不知道!仍然没有日志:奇怪:
标签: reactjs api axios key coinmarketcap