React笔记_(5)_react语法4
ajax 数据应用场景
在真实的开发环境中,拿到了产品需求,第一件事不是逼着后台开发人员先完成,然后前端再介入开发,这样太浪费时间。
正确的做法是跟后端人员先商量好接口名称,请求参数,返回的数据格式等,前端人员造数据进入开发,与后端人员并行开发,等后端完成后再接入正式接口。
通常的做法是自己造json数据。但是这种方式也有一些问题。
1.需要安装apache或nginx等容器才行。
2.造个列表页数据很麻烦,很啰嗦。
3.格式容易写错,比如键忘了加引号或者打了个单引号,比如多了反斜杠。。。。。
4.路径不能写成正式接口名称,导致后期还得改好多地方。
5.跨域问题。
mock.js
mock.js不用装任何容器,完全在前端就可以帮我们模拟超真实的接口数据,真的是非常的方便!
http://www.tuicool.com/articles/N7Rjie3
看一下例子吧。不过需要自己安装 mockjs:
npm install mockjs
ajax测试用例:
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import $ from 'jquery';
import Mock from 'mockjs';
class UserList extends Component {
constructor(props) {
super(props);
this.state = { username: '', age: '' };
}
//组件加载完毕后执行
componentDidMount() {
$.getJSON(this.props.url, function (res) {
this.setState({
username: res['myName'],
age: res['myAge']
});
}.bind(this));
}
render() {
return (
<div>
{this.state.username}==={this.state.age}
</div>
);
}
}
//------------------------------------Mock------------------------------------
//造数据
// @name:会自动拼接字符串造人名,非常便利!
// |1-100:表示这个范围的随机整数,121表示是数字类型,只要随便给一个数字就ok
Mock.mock('http://ajax.data.com', {
'myName': 'zhangwei',
'myAge|1-100': 121
});
//----------------------------------------------------------------------------
ReactDOM.render(
<UserList url="http://ajax.data.com" />, document.getElementById('app')
);
React笔记_(5)_react语法4的更多相关文章
- React笔记_(3)_react语法2
React笔记_(3)_react语法2 state和refs props就是在render渲染时,向组件内传递的变量,这个传递是单向的,只能继承下来读取. 如何进行双向传递呢? state (状态机 ...
- React笔记_(2)_react语法1
这一节内容主要以了解为主. 渐渐的体会react的语法和其特性. ① htmlAndJs 混合编写 react和以往的前后台书写方式不一样. 在之前的多个语言中,讲求的是将页面代码和js代码逻辑分开, ...
- React笔记_(6)_react语法5
react的版本 目前主要的react有 ES5,ES6.也有ES5和ES6混合编写的.比较混乱. react官方提倡用ES6. 说到这里,就需要提到一个概念--mixin mixin在es6中被摒弃 ...
- React笔记_(4)_react语法3
生命周期 很多语言中都讲了关于生命周期.这可是决定生命的周始,有没有存在感的关键啊. 生命周期,有生有死,有始有终,因果轮回,循环往复.(说多了) react中,主要说明的是 一个组件的生命周期.简单 ...
- React笔记_(7)_react路由
路由 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程. 路由器当然是作为一个转发设备出现的,主要是转发数据包来实现网络互联. 那么react的路由到底指的是什么呢? 举个 ...
- React笔记_(1)_react概述
React概述 React是一种很好的前端技术. 它将应用打散成独立的小模块,然后进行组装,完成开发. react远比angularjs难学的多. react依赖的如webpack等各种工具得先学 ...
- 运维开发笔记整理-Django模型语法
运维开发笔记整理-Django模型语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模型基本概念 1>.什么是模型 模型是你的数据唯一的,权威的信息源.它包含你所存储数 ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_发布者策略控制
在 读经典——<CLR via C#>(Jeffrey Richter著) 笔记_高级管理控制(配置)中,是由程序集的发布者将程序集的一个新版本发送给管理员,后者安装程序集,并手动编辑应用 ...
随机推荐
- LeetCode Closest Binary Search Tree Value
原题链接在这里:https://leetcode.com/problems/closest-binary-search-tree-value/ Given a non-empty binary sea ...
- Python迁移MySQL数据到MongoDB脚本
MongoDB是一个文档数据库,在存储小文件方面存在天然优势.随着业务求的变化,需要将线上MySQL数据库中的行记录,导入到MongoDB中文档记录. 一.场景:线上MySQL数据库某表迁移到Mong ...
- java进阶书籍推荐
第一部分: Java语言篇 1 <Java编程规范> 星级: 适合对象:初级,中级 介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下.对基 ...
- [BS-01] 根据字符串对象的参数自动计算用来显示该字符串的UI控件的宽和高
根据字符串对象的参数自动计算用来显示该字符串的UI控件的宽和高 1. 影响昵称Label的高和宽的因素: 字体和字号大小.文字多少.高度取决于是否固定了宽度(是否限制了最大的宽度和高度) 2. 使用 ...
- ViewFlipper、ViewPager和Gallery
1.ViewFlipper 1)View切换的控件—ViewFlipper介绍 ViewFilpper类继承于ViewAnimator类.而ViewAnimator类继承于FrameLayout. 查 ...
- Access 2003版数据库在Win7 64位系统下的不适应
使用ODBC连接不适应 使用microsoft.jet.4.0链接会出现“未在本地计算机上注册microsoft.jet.4.0” 应使用 Provider=Microsoft.ACE.OLEDB.1 ...
- Cache封装类
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- MySQLdb模块操作
Linux 安装mysql: apt-get install mysql-server 安装python-mysql模块:apt-get install python-mysqldb Windows ...
- javascript设计模式学习之十二——享元模式
一.享元模式的定义及使用场景 享元模式是为了解决性能问题而诞生的设计模式,这和大部分设计模式为了提高程序复用性的原因不太一样,如果系统中因为创建了大量类似对象而导致内存占用过高,享元模式就非常有用了. ...
- javaScript函数与闭包
js中函数也是对象,具有一切对象的特征,可以作为表达式给变量赋值,可以作为函数的形参,或者函数的返回值,函数内可以嵌套函数等等,函数内以声明方式定义的函数是局部函数,用表达式声明的函数则由赋值变量的性 ...