我正在使用CryptoCompare API(https://www.cryptocompare.com/api/#-api-data-coinlist-)而我在搜索时无法访问特定的硬币信息。相反,我返回了整个硬币列表而不是我搜索过的硬币列表。我猜这是我当时声明中的一个问题,但我不确定。这是我到目前为止的代码 - 问题区域在searchImage
class SearchForm extends React.Component{
constructor(){
super();
this.state = {
currentSearch: "",
priceResults: [],
cryImage: [],
}
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
this.cryPrice = this.cryPrice.bind(this);
}
cryPrice(param){
axios.get(`https://min-api.cryptocompare.com/data/pricemulti?fsyms=${param}&tsyms=CAD`)
.then(res => {
const cryptos = res.data;
console.log(cryptos);
this.setState({
priceResults: cryptos
})
})
}
searchImage(param){
axios.get(`https://min-api.cryptocompare.com/data/all/coinlist`, {
params: {
name: `${param}`,
}
}).then(res => {
const cryImage = res.data;
console.log(cryImage);
this.setState({
cryImage
})
})
}
handleChange(e){
const currentSearchValue = e.target.value;
this.setState({
currentSearch: currentSearchValue
})
console.log(currentSearchValue);
}
handleSubmit(e){
e.preventDefault();
this.cryPrice(this.state.currentSearch);
this.searchImage(this.state.currentSearch);
this.setState({
currentSearch: ""
})
}
答案 0 :(得分:0)
它在文档中说(根据我的理解),这个获取请求不会占用参数。
<强> CoinList 强>
获取网站上所有可用硬币的一般信息。
网址参数
无
因此,当您发送请求时,您将始终获得所有硬币。现在您可以做的是通过响应过滤您感兴趣的唯一一个。这意味着,在您.then
中使用的功能正文中,您只需通过param
阅读有关硬币的信息。