亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

React技術(shù)?!猂eactJS

Lin_YT / 1686人閱讀

摘要:將模板語(yǔ)言轉(zhuǎn)為語(yǔ)言,并插入組件組件類第一個(gè)字母必須大寫對(duì)象屬性與組件屬性一一對(duì)應(yīng)。是例外,它表示組件的所有節(jié)點(diǎn)組件的屬性可以接受任意值。需要一種驗(yàn)證機(jī)制,驗(yàn)證別人使用組件時(shí)提供的參數(shù)是否合法獲取真實(shí)節(jié)點(diǎn)組件的是。

初始化

引入三個(gè)script:


  
  
  

第一個(gè)是React的核心代碼,第二react-dom.js是React里面操作DOM的部分,第三個(gè)browser.js將JSX轉(zhuǎn)為Javascript語(yǔ)法。

ReactDOM.render

將模板語(yǔ)言轉(zhuǎn)為HTML語(yǔ)言,并插入DOM

ReactDOM.render(
    
Test
, document.body );
組件

組件類第一個(gè)字母必須大寫

var Hello = React.createClass({
    render: function(){
        return 

Hello ,{this.props.name}

} }) ReactDOM.render( , document.body )
this.props.children

this.props對(duì)象屬性與組件屬性一一對(duì)應(yīng)。this.props.children是例外,它表示組件的所有節(jié)點(diǎn)

var NotesList = React.createClass({
    render: function(){
        return (
            
    { React.children.map(this.props.children, function(child){ return
  1. {child}
  2. }) }
); } }); ReactDOM.render( Hello world , document.body );
PropTypes

組件的屬性可以接受任意值。需要一種驗(yàn)證機(jī)制,驗(yàn)證別人使用組件時(shí)提供的參數(shù)是否合法

var Title = React.createClass({
    propTypes: {
        title: React.propTypes.string.isRequired,
    },
    render: function(){
        return 

{this.props.title}

} });
獲取真實(shí)DOM節(jié)點(diǎn)

組件的是virtual DOM。需要獲取真實(shí)DOM節(jié)點(diǎn)時(shí),要用到ref屬性

var Component = React.createClass({
    handleClick: function(){
        this.refs.myTextInput.focus();
    },
    render: function(){
        return (
            
) } }) ReactDOM.render( , document.body )
this.state

React的狀態(tài)機(jī),狀態(tài)的變化可以出發(fā)重新渲染UI

var LikeButton = React.createClass({
    getInitialState: function(){
        return {liked: false};
    },
    handleClick: funtion(event){
        this.setState({liked: !this.state.liked});
    },
    render: function(){
        var text = this.state.liked ? "like" : "dont like";
        return(
            

) } }) ReactDOM.render( , document.body )
組件的生命周期

組件的生命周期有三個(gè)狀態(tài):

Mounting: 已插入真實(shí)DOM
Updating: 正在被重新渲染
Unmounting: 已移出真實(shí)DOM

React為每個(gè)狀態(tài)提供兩種處理函數(shù),will在進(jìn)入狀態(tài)前調(diào)用,did函數(shù)在進(jìn)入狀態(tài)后調(diào)用,共五中處理函數(shù):

componentWillMount()
componentDidMount()

componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object preState)

componentWillUnount()

還有兩種特殊狀態(tài)的處理函數(shù):

componentWillReceiveProps(object nextProps): 已加載組件收到新的參數(shù)時(shí)調(diào)用
shouldComponentUpdate(object nextProps, object nextState): 組件判斷是否重新渲染時(shí)調(diào)用

Demo:

var Hello = React.createClass({
    getInitialState: function(){
        return {
            opacity: 1.0
        }
    },
    
    componentDidMount: function(){
        this.timer = setInterval(function(){
            var opacity = this.state.opacity;
            opacity += 0.05;
            if(opacity < 0.1){
                opacity = 1.0;
            }
            this.setState({
                opacity: opacity
            })
        }.bind(this), 100)
    },
    
    render: function(){
        return (
            
Hello {this.props.name}
) } }); ReactDOM.render( , document.body )

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/79875.html

相關(guān)文章

  • 使用webpack + electron + reactJs開發(fā)windows桌面應(yīng)用

    摘要:在開發(fā)項(xiàng)目時(shí),可以先用網(wǎng)頁(yè)的形式開發(fā)項(xiàng)目,等到網(wǎng)頁(yè)項(xiàng)目部分差不多完成后,再注入中,開發(fā)網(wǎng)頁(yè)項(xiàng)目部分和窗體部分的交互在中使用后,將不會(huì)打包有關(guān)的代碼 electron是一兩年前挺火的一個(gè)框架本質(zhì)上是一個(gè)瀏覽器,但是集成了很多windows系統(tǒng)的功能,讓前端開發(fā)也可以直接操作windows的窗體,做成一個(gè)實(shí)打?qū)嵉淖烂孳浖?團(tuán)隊(duì)主要的技術(shù)棧是react,所以考慮用react開發(fā),方便維護(hù)。 ...

    khlbat 評(píng)論0 收藏0
  • ReactJS新聞 #21 React Native中更好的列表視圖

    摘要:新聞第期新聞中更好的列表視圖官方博客近日發(fā)表了新的列表組件的消息,三月份的候選版本的中,加入了三種新的與組件,可以針對(duì)不同情況需求而使用,這三個(gè)新組件的數(shù)據(jù)來源,都可以對(duì)外部的數(shù)據(jù)流框架或進(jìn)行搭配使用。目前中的類似功能仍然在草案中。 ReactJS新聞 第021期 (2017.03.26) 新聞 React Native中更好的List Views(列表視圖) React Naive...

    FingerLiu 評(píng)論0 收藏0
  • ReactJs 創(chuàng)建Mac版的 keep

    摘要:我們專注移動(dòng)體育領(lǐng)域的應(yīng)用開發(fā),倡導(dǎo)開放共享的精神,不模仿,不跟風(fēng),只做酷的產(chǎn)品。這就是正在做的事情,我們希望通過科技驅(qū)動(dòng),讓更多的人熱愛健身,喜歡運(yùn)動(dòng)。 序 因?yàn)樽约翰淮笙矚g喜歡用手機(jī),所以當(dāng)在手機(jī)上看到有些應(yīng)用只能在手機(jī)上使用時(shí)覺得好別扭,但我本身也不是寫移動(dòng)App的,只是會(huì)寫點(diǎn) js,都說js啥都能干,那我就用它干! 關(guān)于 Keep Keep 是一個(gè)熱愛運(yùn)動(dòng)的年輕團(tuán)隊(duì),同時(shí)也是一...

    Tychio 評(píng)論0 收藏0
  • React 、 ES6 - 介紹(第一部分)

    摘要:下一步我們將結(jié)果輸出到文件。這是我們用編寫的第一個(gè)非常簡(jiǎn)單的組建。使用將創(chuàng)建的組建導(dǎo)出以便在其它地方能夠正常導(dǎo)入使用。 這是React和ECMAScript6結(jié)合使用系列文章的第一篇。 本文出自從零到壹全棧部落 下面是所有系列文章章節(jié)的鏈接: React 、 ES6 - 介紹(第一部分) React類、ES7屬性初始化(第二部分) React類,方法綁定(第三部分) ES6中Reac...

    pingink 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<