react學習筆記

 react 學習筆記 

    好在哪兒:
     1.組件化——分工、合做
     2.虛擬DOM——性能高
     3.跨平臺——移動端html

    缺點:
     1.學習曲線特別陡
     2.設計思想有點特別react

    React全家桶(技術棧)
     1.React主體
     2.WebPack:grunt、gulp自動化構建工具
     3.Flex:佈局
     4.React-Route:路由
     5.Redux:View層
     6.Mocha:測試
     7.Istanbul:覆蓋率gulp

      ----------------------------------------------------babel

    JSX:
     1.加強型JS語法——HTML代碼直接放JS裏
     2.babel函數

    注意:
     1.有且僅有一個父元素
     2.模板字符串
       var oDiv=<div>{aaa}</div>;grunt

    最強:
     1.組件
     2.狀態工具


     ----------------------------------------------------組件化

     IndexPage佈局

     <Header/>
        <IndexContent/>
     <Footer/>性能

     ----------------------------------------------------

    1.定義組件——組件==class
       class 名字 extends React.Component{
          render(){
             return <span>111</span>;
          }
     }

    

     2.使用組件
       就跟標籤同樣用
       ReactDOM.render(
        <span>111</span>,
        oDiv
      );

      ReactDOM.render(  
      <Comp/>,
        oDiv
     );

 ----------------------------------------------------

      屬性——定死
      狀態——變的

      ----------------------------------------------------

      1.狀態是活的
      constructor裏面——this.state={};
      方法裏面——this.setState({});

      2.事件大小寫不能亂
       onChange
       onClick
        ...

      3.綁定事件
       onChange={fn} fn是方法,不是函數
       onChange={this.fn} 不對,須要bind
       onChange={this.fn.bind(this)} OK

      4.用constructor的時候,必須用super


       Angular霸道——原生定時器、jQuery
       react溫柔——能夠跟原生、jQuery配合起來

      ----------------------------------------------------

      組件——生存週期

      componentWillMount() 建立以前
      componentDidMount() 建立以後

      componentWillUpdate() 更新以前
      componentDidUpdate() 更新以後

      componentWillUnmount() 卸載以前
      沒有componentDidUnmount

      componentWillReceiveProps() 組件參數更新

       


     ----------------------------------------------------

      重用組件

    ----------------------------------------------------

      錯的:
      <ul>
        <Item/>
        <Item/>
        <Item/>
        <Item/>
      </ul>

     對的:
         arr.push(<Item/>);
         arr.push(<Item/>);
         arr.push(<Item/>);
         arr.push(<Item/>);
         ...

      <ul>
         {arr}
      </ul>

相關文章
相關標籤/搜索