React 網(wǎng)絡(luò)請(qǐng)求
方法一
原生請(qǐng)求,react自帶的fetch請(qǐng)求方式:
fetch(opt.url, {
method: opt.type,
body: data,
headers: {
'content-type': opt.contentType
}
}).then(res => {
res.json().then((data) => {
console.log(data)
})
}).catch(e => {
console.log(e)
});
方法二
ajax請(qǐng)求,react通過jquery的ajax方法進(jìn)行請(qǐng)求網(wǎng)絡(luò)
$.ajax({
type: opt.type,
url: opt.url,
data: data,
dataType: 'json',
contentType: opt.contentType,
cache: false,
success(data) {
console.log(data)
},
error(xhr, type) {
console.log(xhr)
}
});
ES6學(xué)習(xí)補(bǔ)充
let命令
用法類似于var,但是聲明的變量,只能在其所在的代碼塊使用,類似于局部變量,舉個(gè)栗子(比較適用于for循環(huán),循環(huán)結(jié)束后下標(biāo)銷毀),不可以重復(fù)聲明。
var命令
則類似于全局變量,在代碼塊可以任意去調(diào)用它。
const 命令
const 聲明一個(gè)只讀的常量。一旦聲明,常量的值就不能改變。同時(shí),使用const聲明的變量必須賦值,不然會(huì)報(bào)錯(cuò)。const實(shí)際上保證的,不是變量的值不改變,而是變量指向?qū)ο蟮膬?nèi)存地址所保存的數(shù)據(jù)不得改動(dòng)。對(duì)于簡單類型的數(shù)據(jù)(數(shù)值、字符串、布爾值),值保存在變量指向的那個(gè)內(nèi)存地址,因此等同于常量。
ES6聲明變量的六種方法
ES5只有兩種聲明變量的方法:var命令和function命令。ES6除了添加let const import class
對(duì)象的結(jié)構(gòu)機(jī)制
對(duì)象的結(jié)構(gòu)賦值的內(nèi)部機(jī)制,先找到同名屬性,在賦值給變量,真正被賦值的是后者,而不是前者。
c // 'a'
a //error:a is not defined
上述代碼中,a只是匹配模式,找到對(duì)應(yīng)的屬性名,而c才是真正被賦值的變量,而不是模式a。
默認(rèn)值
對(duì)象的解構(gòu) 也可以設(shè)置默認(rèn)值
var {x = 3 } = {};
x // 3
var{ x , y = 5 } = { x : 1 };
x //1
y //5
var {x : y = 3} ={};
y //3
var {x : y = 3 } = { x : 5 };
y //5
var {message : msg = 'xxx'} = {};
msg // xxx
// 默認(rèn)值生效的條件是,對(duì)象的屬性嚴(yán)格等于`underfined`
var { x = 3 } = {x : undefined };
x // 3 ;
var { x = 3 } = { x : null } ;
x //