假设Greeting组件,它支持定义成类和函数两种性质。
如果 Greeting
是一个函数,React 需要调用它。
1 2 3 4 5 6
| function Greeting() { return <p>Hello</p>; }
const result = Greeting(props);
|
如果 Greeting
是一个类,React 需要先将其实例化,再调用刚才生成实例的 render
方法
1 2 3 4 5 6 7 8 9
| class Greeting extends React.Component { render() { return <p>Hello</p>; } }
const instance = new Greeting(props); const result = instance.render();
|
React通过下面方式来判断组件的类型:
1 2 3 4 5 6
| class Component {} Component.prototype.isReactComponent = {};
class Greeting extends React.Component {} console.log(Greeting.prototype.isReactComponent);
|