react/forwardref
Creates a React Functional Component using forwardRef.
Usage
npx @lukasbach/scripts react/forwardref
You can call the script directly if you have installed it globally:
npm i -g @lukasbach/scripts
ldo react/forwardref
There is a default shortcut for this script: ldo fref
You can customize shortcuts with ldo edit-shortcuts.
Arguments
- [0]: React component name
Options
- -v,- --verbose: Verbose logging
You can also omit options, and will be asked for them interactively.
Add --yes to skip all confirmations.
Script source
/** Creates a React Functional Component using forwardRef. */
const componentName = await ask.text("_", "React component name", "MyComponent");
const pascalName = utils.changeCase.pascalCase(componentName);
const content = utils.noindent(`
  import { forwardRef } from "react";
  
  type ${pascalName}Props = {};
  
  export const ${pascalName} = forwardRef<HTMLDivElement, ${pascalName}Props>(({}, ref) => {
    return (
      <div ref={ref}>
        hello
      </div>
    );
  }
  `);
await fs.writeFile(path.join(process.cwd(), `${utils.changeCase.kebabCase(componentName)}.tsx`), content);