首先:react
本身沒有獨有的獲取資料的方式。實際上,就react
而言,它甚至不知道有伺服器畫面的存在。
react
只是簡單地渲染元件,單獨從兩個地方獲取資料:props
和state
。
因此,為了使用伺服器的資料,你需要在你的元件(component)的props
或state
裡拿到資料。
你可以將這個過程與服務和資料模型複雜化,就像你所希望的那樣,但最終只是元件渲染props
和state
。
為了獲取來自伺服器的資料,你需要乙個http
庫,網上有很多,最終他們都做同樣的事情,但他們有不同的特點。
如下是乙個簡單的例項,乙個元件從subreddit
獲取職位。看看這個例子,我們將會了解它是如何工作的
importreact
from
'react'
;import
reactdom
from
'react-dom'
;import
axios
from
'axios'
;class
fetchdemo
extends
react.component ;
} componentdidmount()
.json`
) .then(res
=> );
});} render()
`}<
/h1>
><
/li>
)}<
/ul>
<
/div>
);}}
reactdom.render(
"reactjs"
/>,
document.getelementbyid('root'
));
首先,我們將axios
庫import
進來。
這個constructor
先呼叫super
,然後初始化state
,讓它擁有乙個posts
空陣列。
componentdidmount
是關鍵所在,這個方法將會在元件插入dom
的第一時間執行。該方法在整個元件的生命週期只會執行一次。
它使用axios.get
方法從subreddit
獲取資料,反引號的字串是es6
的模板字串,${}
部分是由表示式的值所取代,所以url
傳遞給axios.get
實際上是
有兩點你需要注意的是:
因為axios
使用promise
,所有我們可以鏈式呼叫then
方法來處理response
。獲取的職位資訊是一點一點的轉換後提取的,最重要的一點是,元件的狀態(state)是由職位與新陣列呼叫this.setstate
更新的,由此觸發乙個重新渲染,然後職位就可以看見了
如何在react中使用路由功能
用 包裹起來,表示這裡面我要使用路由了。裡面需要用乙個標籤包起來,不然回報錯哦 使用就可以跳轉了,其中exact的意思是,只有當路徑完全一樣時才可以進行跳轉 這樣就可以正確的使用路由功能啦!下面來看看如何拆分首頁並且通過路由訪問吧!1.首先需要引入元件 2.然後將之前的render跟換成compon...
如何在QML中利用Sprite來做我們需要的動畫
在遊戲中動畫的設計非常中要。在qml中,它提供了豐富的animation,但是有時我們需要對影象進行變化,就像放電影一樣。在今天的這篇文章中,我們將設計乙個可以變化影象的動畫。我們可以通過qt所提供的sprite功能來實現。為了設計的方便,我們先設計乙個我們自己的bear動畫,這個動畫的影象大小為 ...
如何在鳳巢系統之下做SEO
導讀 度娘的左側競價模式曾一度傷了不少seoer的心,特別是做產品營銷的seoer,辛辛苦苦的耕耘,起早貪黑,好不容易把關鍵字弄到了第一位。但是 在面對第一屏滿滿 推廣 兩個字的時候,相信很少有人能真正的高興起來。不得不承認,度娘這招確實很狠,有點釜底抽薪的意思。最近又推出賬戶優化 工具,鳳巢系統的...