首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pokemon,API调用变量不保存

Pokemon,API调用变量不保存
EN

Stack Overflow用户
提问于 2019-08-16 04:43:23
回答 1查看 46关注 0票数 0

我正在尝试制作一个程序,它只会显示某个pokemons的名称,并使用Pokeapi获取图片。但是,在我的pokeURL变量退出$.getJSON函数后,它会将自己重置为null。

代码语言:javascript
复制
import React from "react"
import $ from "jquery"

class Pokemon extends React.Component{
    constructor(props){

        super()
        this.state = {
            imageUrl: ""
        }

    }
    componentDidMount() {
        let pokeURL
        this.setState(()=>{
            $.getJSON("https://pokeapi.co/api/v2/pokemon/" + (this.props.pokemon).toLowerCase() + "/", function(data){
                pokeURL = data.sprites.front_default;
                // console.log(pokeURL)
                // console.log(data)    
            })
            // console.log(pokeURL)
            return {
                imageUrl: pokeURL
            }
        })  


    }
    render(){
        return(
            <div>
                <h1>{this.props.pokemon}</h1>
                <img src={this.state.imageUrl} height = "400px" width = "400px"/>
            </div>
        )
    }
}
export default Pokemon

我查看了我的控制台,我正在接收pokemon api调用,但它只是没有保存到一个变量。我试过使用let并将其设置为全局变量,但它似乎只是重置。注意:道具中只有一个口袋妖怪字符串,这是我想画的东西的名字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-16 04:50:52

试试这个:

代码语言:javascript
复制
$.getJSON("https://pokeapi.co/api/v2/pokemon/" + (this.props.pokemon).toLowerCase() + "/", function(data){
    this.setState({
        imageUrl : data.sprites.front_default;
    })
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57518981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档