参考答案
可以使用JavaScript的typeof
运算符和React的Component
类来进行判断。
下面是一个示例的判断方法:
function isClassComponent(component) { return ( typeof component === 'function' && !!component.prototype.isReactComponent ); } // 示例用法 const MyComponent = () => <div>Hello, I'm a function component!</div>; const MyClassComponent = class extends React.Component { render() { return <div>Hello, I'm a class component!</div>; } }; console.log(isClassComponent(MyComponent)); // false console.log(isClassComponent(MyClassComponent)); // true
上面定义了一个名为isClassComponent
的函数,它接受一个组件作为参数。函数内部使用typeof
运算符来判断该组件是否为函数类型,并通过检查component.prototype.isReactComponent
属性来确定是否为Class组件。
正文结束
Ctrl + Enter