Reactの関数的なコンポーネントと高次のコンポーネント(装飾器、参飾り器)

2338 ワード

import React from 'react';  //      
import ReactDom from 'react-dom';


const Wrapper = props => 
App component{props.count}
// stateless component , , state , state hook function wrapper(Comp, props){ // , return
App component{props.count}
} // function wrapper(Comp){ return function (props){ // B return
B component{props.count}
} } // , const wrapper = Comp => props =>
{/* */} B component{props.count}
// , babel, , @wrapper // A = wrapper(A), A A // function A (props){return
A component
} // , , class A extends React.Component{ render(){ return
A component
} } // const B = wraper(A) ReactDom.render( // , // // , , document.getElementById('root') )
上記のコードを参考飾り器に変更します.
import React from 'react';  //      
import ReactDom from 'react-dom';


//        
// function wrapper(vid){
//     return function (Comp){
//         return props => {  //       
//             return 
// {props.name} //
// //
// } // } // } let obj = {a: Green, b: KD } const wrapper = vid => Comp => props =>
{/* */} {props.name}
{/* */} {/* k、v , */}
@wrapper('test') // ; A = wrapper('test')(A) class A extends React.Component{ render(){ return
{this.props.name} {this.props.test} {/* Klay */}
{this.props.a}
{/* Green */} {this.props.b} {/* KD */}
} } ReactDom.render( , // A A, A document.getElementById('root') )