十一.Ajax

组件的数据来源,通常是通过 Ajax 请求从服务器获取,可以使用 componentDidMount 方法设置 Ajax 请求,等到请求成功,再用 this.setState 方法重新渲染 UI

<!DOCTYPE html><html><head>    <script src="js/react.js"></script>    <script src="js/react-dom.js"></script>    <script src="js/browser.min.js"></script>    <script src="js/jquery.js"></script></head><body><div id="example"></div><script type="text/babel">    var RepoList = React.createClass({        getInitialState: function () {            return {                loading: true,                error: null,                data: null            };        },

        componentDidMount(){            this.props.promise.then(                    value => this.setState({                        loading:false,data:value                    }),                    error => this.setState({                        loading:false,data:value                    })            )        },

        render:function () {            if(this.state.loading){                return <span>loading...</span>            }            else if(this.state.error !== null){                return <span>Error: {this.state.error.message}</span>;            }            else{                var repos = this.state.data.items;                var repoList = repos.map(function (repo,index) {                    return (                            <li key={index}><a href={repo.html_url}>{repo.name}</a> ({repo.stargazers_count} stars) <br/> {repo.description}</li>                    )                });                return (                        <main>                            <h1>Most Popular JavaScript Projects in Github</h1>                            <ol>{repoList}</ol>                        </main>                );            }        }    });

    ReactDOM.render(            <RepoList promise={$.getJSON(‘https://api.github.com/search/repositories?q=javascript&sort=stars‘)}/>,            document.getElementById("example")    )

</script></body></html>

上面代码使用 jQuery 完成 Ajax 请求,这是为了便于说明。React 本身没有任何依赖,完全可以不用jQuery,而使用其他库。

我们甚至可以把一个Promise对象传入组件

时间: 2024-08-28 20:08:36

十一.Ajax的相关文章

Ajax总结一下

一.什么是Ajax Ajax(Asynchronous JavaScript and XML),可以理解为JavaScript执行异步网络请求.通俗的理解的话就是,如果没有Ajax技术,改变网页的一小部分(哪怕是一行文字.一张图片)都需要重新加载一次整个页面,而有了Ajax之后,就可以实现在网页不跳转不刷新的情况下,在网页后台提交数据,部分更新页面内容. 二.Ajax的原生写法 1.XMLHttpRequest对象 XMLHttpRequest 对象用于在后台与服务器交换数据,能够在不重新加载页

JS基础笔记集

three.js:3D框架  svgtween:动画框架 一.js事件的组成:on+事件名,当触发某个事件做一些事情:   如:onclick:当点击鼠标,触发的事件: 二.在写一个页面时,结构(html).样式(css)和行为(js)是要分离出来的:    好处:代码可复用,可读性好,可维护性好: 三.通过js获取元素方法:    1>通过元素中的id名,获取元素:document.getElementById("id名"):    2>通过元素名,直接获取元素:getE

MVC小系列(十一)【Html.BeginForm与Ajax.BeginForm】

Html.BeginForm与Ajax.BeginForm都是mvc的表单元素,前者是普通的表单提交,而后者是支持异步的表单提交,直接用mvc自带的Ajax.BeginForm就可以很容易完成一个异步的表单提交动作 第一种普通提交几种方式 1 @using (Html.BeginForm()) {} //提交到当前页面 2 3 @using (Html.BeginForm(new {} )) {} //提交到当前页面,并可以传递参数 4 5 @using (Html.BeginForm("act

使用JSP/Servlet技术开发—— 第十一章 Ajax交互扩展

1. jQuery实现Ajax的方法: ●除了$.ajax()方法以外,jQuery还提供了其他多种更简单的 Ajax 实现方法,如$.get().$.post().$.getJSON().对象.load()等方法: ●$.get()方法:是 jQuery 封装的发送 HTTP GET 请求从服务器加载数据的Ajax方法:   语法:$.get( url [, data] [, success] [, dataType] );      ◆$.get()方法常用参数: 参  数 类  型 说  

ajax for in eval()知识点的应用

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>团体交通意外险-国内旅游保险-中国平安官方直销网站</title> <link rel="stylesheet" href="http://pcss1.4008000000.com/app_css/4008000000/v

第十一周进度条

第十一周学习进度条   星期一 星期二 星期三 星期四 星期五 星期六 星期日 所花时间 (包括上课) 无 上午8:00-9:50 晚上7:00-11:30 下午3:00-11:30 晚上7:00-1:30 无 早上8:00-晚上2:00 代码量(行) 0行 900行 2000行 2000行 0行 4000行 博客量(篇) 0篇 1篇 0篇 0行 0篇 2篇 了解到的知识点 无 上完课后一直在想业务用例的问题,但是还是没有很是想明白1.业务用例的最大的好处是什么,待地该怎样设计用例 下课后就一直

jQuery第十一章

第十一章 一.jQuery性能优化 1.使用最新版本的jQuery类库. 2.使用合适的选择器 (1)$(“#id”) :使用id来定位DOM元素是最佳提高性能的方式. (2)$(“p”) :标签选择器的性能也不错. (3)$(“.class”) :这种方法比较复杂 (4)$(“[attribute = value]”) :利用属性来定位DOM元素会使用DOM搜索的方式来达到效果. (5)$(“ : hidden”) :利用伪选择器会带来较大的性能问题. 3.缓存对象. 4.循环DOM操作. 5

#HTTP协议学习# (十一)理解HTTP幂等性

在httpcomponent 文档中看到如下段落: 1.4.1. HTTP transport safety It is important to understand that the HTTP protocol is not well suited to all types of applications. HTTP is a simple request/response oriented protocol which was initially designed to support s

从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件

原文:从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零