收藏此站 联系我们 网站
当前位置:首页» 技术日志 » 【建站服务】内蒙古企业网站设计 - 内蒙古高端网站定制 - 内蒙古品牌网站搭建 - 上往建站-域名申请

【建站服务】内蒙古企业网站设计 - 内蒙古高端网站定制 - 内蒙古品牌网站搭建 - 上往建站-域名申请

作者: 风兰 . 阅读量: 17 . 发表时间:2022-09-21 06:03:54

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


内蒙古企业网站设计 - 内蒙古高端网站定制 - 内蒙古品牌网站搭建 - 上往建站

网站建设.png

React AJAX

React 组件的数据可以通过 componentDidMount 方法中的 Ajax 来获取,当从服务端获取数据时可以将数据存储在 state 中,再用 this.setState 方法重新渲染 UI。

当使用异步加载数据时,在组件卸载前使用 componentWillUnmount 来取消未完成的请求。

以下实例演示了获取 Github 用户最新 gist 共享描述:

React 实例

class UserGist extends React.Component {  constructor(props) {      super(props);      this.state = {username: '', lastGistUrl: ''};  }  componentDidMount() {    this.serverRequest = $.get(this.props.source, function (result) {      var lastGist = result[0];      this.setState({        username: lastGist.owner.login,        lastGistUrl: lastGist.html_url      });    }.bind(this));  }  componentWillUnmount() {    this.serverRequest.abort();  }  render() {    return (      <div>        {this.state.username} 用户最新的 Gist 共享地址:        <a href={this.state.lastGistUrl}>{this.state.lastGistUrl}</a>      </div>    );  }} ReactDOM.render(  <UserGist source="https://api.github.com/users/octocat/gists" />,  document.getElementById('example'));

尝试一下 »

以上代码使用 jQuery 完成 Ajax 请求。


上代码使用 jQuery 完成 Ajax 请求。


 React 组件生命周期React 表单与事件 

4 篇笔记 写笔记

   白日放歌


  155***8087@qq.com


16

上述事件的另外一种写法:


class UserGist extends React.Component {

    constructor(props) {

        super(props);

        //在state设置两个属性,以便后续通过state对象来对其进行修改

        this.state = {username: '', lastGistUrl: ''};

        //绑定挂载事件

        this.componentDidMount = this.componentDidMount.bind(this);

    }


    componentDidMount() {

        //接下来操作state时上下文对象发生改变,此处拿到操作句柄

        var that = this;

        //ajax请求

        this.serverRequest = $.ajax({

            url: this.props.source, 

            type:"GET",

            dataType: 'jsonp',

            success: function (result) {

                console.log(result.data);

                var lastGist = result.data[0];

                //此处的上下文发生改变,this的指针指向发生了变化,通过上述定义的that来操作

                that.setState({

                    username: lastGist.owner.login,

                    lastGistUrl: lastGist.html_url

                })

            }

        })

    }


    //卸载React组件时,把多余请求关闭,以免影响其他框架或组件的操作

    componentWillUnmount() {

        this.serverRequest.abort();

    }


    render() {

        return (

            <div>

            {this.state.username} 用户最新的 Gist 共享地址:

            <a href={this.state.lastGistUrl} rel="nofollow">{this.state.lastGistUrl}</a>

            </div>

        );

    }

}


ReactDOM.render(

    <UserGist source="https://api.github.com/users/octocat/gists" />,

    document.getElementById('example')

);

尝试一下 »


白日放歌

   白日放歌


  155***8087@qq.com


4年前 (2018-12-20)

   光头加暴击


  983***466@qq.com


9

可以通过箭头函数绑定 this:


class UserGist extends React.Component {

  constructor(props) {

      super(props);

      this.state = {username: '', lastGistUrl: ''};

  }

 

 

  componentDidMount() {

  //可以通过箭头函数绑定this

    this.serverRequest = $.get(this.props.source, (result)=> {

      var lastGist = result[0];

      this.setState({

        username: lastGist.owner.login,

        lastGistUrl: lastGist.html_url

      });

    });

  }

 

  componentWillUnmount() {

    this.serverRequest.abort();


内蒙古企业网站设计 - 内蒙古高端网站定制 - 内蒙古品牌网站搭建 - 上往建站


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务