Reactの詳細

12014 ワード

元コースリンク->React 16.4開発簡書プロジェクトゼロベースから実戦へ
第4章Reactプレミアムコンテンツ
4-1 React developer toolsのインストールと使用
  • チュートリアル:(ChromeブラウザでReact Developer Toolsをインストール)
  • 4-2 PropTypeとDefaultPropsの応用
  • PropTypeの使用
        // 1.   
        import PropTypes from 'prop-types';
        // 2:   -> TodoItem           
        TodoItem.propTypes = {
        // 3.         notest,       notest ,     
            notest: PropTypes.string,
        // 4.         test,       test ,     ,      "isRequired"
            test: PropTypes.string.isRequired,
        // content       ,      
            content: PropTypes.arrayOf(PropTypes.number, PropTypes.string),
            deleteItem: PropTypes.func,
            index: PropTypes.number,
        }
        export default TodoItem
    
  • defaultPropsの使用
        // 5.  test    
        TodoItem.defaultProps = {
            test: 'hello world',
        }
    
  • これらの属性について-公式サイト
  • 4-3 props,stateとrender関数の関係
  • コンポーネントのstateまたはpropsが変更されるとrender関数が再実行され、コンポーネントが
  • 再レンダリングされます.
  • 親コンポーネントのrender関数が実行されると、そのサブコンポーネントのrender関数は
  • に再実行されます.
    4-4 Reactでの仮想DOM
  • 仮想DOMがないとしたら、どうすればいいですか?
          11. state    
            2. JSX  
            3.    +DOM4. state    
            5.    +DOMDOMDOMDOM  
                    DOM       DOM21. state    
            2. JSX  
            3.    +DOM4. state    
            5.    +DOMDOM
            6.   DOM(DocumentFragment:    ,    ,         )     DOM7.   input      
            8.     DOM   input  ,     DOM   input  
              :
                        ,  ,       1         DOMDOM       
          31. state    
            2. JSX  
            3.     DOM (  DOM    JSDOM) ()
                ['div', {id: 'abc'}, ['span', {}, 'hello world']]
                ['   ', {    :    },   ]
            4.    DOM         DOM<div id="abc"><span>hello world</span></div>
            5. state    
            6.    +          DOM (        )
                ['div', {id: 'abc'}, ['span', {}, 'Bye bye']]
            7.       DOM      DOM   ,     ,span    (        )
            8.     DOM,  span    
              :
                     ,
                          ()
                    (Andorid  IOS)    DOMDOM,             。       DOMDOM,         
              : 
                 JS    JSJS    DOM       WebApplication     APIAPI       
        ```
    
    

  • 4-5仮想DOMの詳細
  • コードに戻り、前のJSX
             JSXDOM
    return (
        <div onClick={this.handleClick}>
            {test} - {content}
        </div>
    )
    JSX   DOMJSX ->  createElement ->   DOM( JS   )->    DOM
        return <div>item</div>   createElement
        <==>   
        return React.createElement('div', {}, 'item');
    
  • を説明する