Skip to Content
DocsReferenceHandlerscomponentMethods

componentMethodsHandler

Finds all imperative methods in React components and documents its name, arguments, and return types. These are the different possible cases which are detected:

  • Methods in Class components which are not React lifecycle methods or the constructor
  • Assignment of methods to static properties on Class or Function components
  • Methods defined in the useImperativeHandle() hook in Function components

Examples

When the componentMethodsHandler is active any of these components will result in the output below

component.tsx
class MyComponent extends React.Component { /** myMethod description */ static myMethod(argument: string): number {} render() { return <div />; } }
component.tsx
class MyComponent extends React.Component { render() { return <div />; } } /** myMethod description */ MyComponent.myMethod = (argument: string): number => {};
component.tsx
const MyComponent = () => <div />; /** myMethod description */ MyComponent.myMethod = (argument: string): number => {};
component.tsx
import { forwardRef, useImperativeHandle } from 'react'; forwardRef(function MyComponent(_, ref) { useImperativeHandle( ref, () => { return { /** myMethod description */ myMethod(argument: string): number {}, }; }, [], ); return <div />; });

Output

JSON
[ { "methods": [ { "name": "myMethod", "docblock": "myMethod description", "modifiers": ["static"], "params": [ { "name": "argument", "optional": false, "type": { "name": "string" } } ], "returns": { "type": { "name": "number" } } } ] } ]
Last updated on