簡體   English   中英

如何在反應中綁定來自 API 的數據?

[英]How can I bind data from the API in react?

我是 React.JS 的新手。 我想在 HTML 代碼中綁定來自 API 的數據。
這是 API 中帶有 axios 的GET方法:

componentDidMount() {
    var token = localStorage.getItem('accessToken');
    var config = {
        headers: { 'Authorization': "Bearer " + token }
    };
    var apiBaseUrl = "https://**********/";
    const that = this;
    axios.get(apiBaseUrl + 'api/Account/UserInfo', config)
        .then(function (response) {
            console.log(response.data);
            if (response.status === 200) {
                that.setState({ userInfo: response.data });
                console.log(that.state.userInfo.Email);
            }
            else {
                console.log(response.data);
            }
        })
        .catch(function (error) {
            console.log(error);
        });
}

控制台顯示我

{Email: "xxxxxxx@yahoo.com", HasRegistered: true, LoginProvider: null}

現在我想在 HTML 中顯示電子郵件地址。 我怎樣才能做到這一點?

在這里你已經設置了狀態

 that.setState({ userInfo: response.data });

要訪問它 - 試試this.state.userInfo.Email

你可以把它放到一些像這樣的html元素中

<p>{this.state.userInfo.Email}</p>

在 JSX 中你可以這樣顯示

render(){
  return (
    <p>{this.state.userInfo ? this.state.userInfo.Email : 'Email is not provided'}</p>
  )
}

在 JSX 中,您只需定義

render(){
const email = this.state.userInfo? this.state.userInfo.Email:'';
return(
  <div>{email}</div>
 )
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM