@nx/react:hook

Create a React component using Hooks in a dedicated React project.

Usage

1nx generate hook ... 2
1nx g c ... #same 2

By default, Nx will search for hook in the default collection provisioned in workspace.json.

You can specify the collection explicitly as follows:

1nx g @nx/react:hook ... 2

Show what will be generated without writing to disk:

1nx g hook ... --dry-run 2

Examples

Generate a hook in the mylib library:

1nx g hook my-hook --project=mylib 2

Options

name

Required
string

The name of the hook.

directory

string

The directory at which to create the hook file. When --nameAndDirectoryFormat=as-provided, it will be relative to the current working directory. Otherwise, it will be relative to the project root.

export

e
boolean
Default: false

When true, the hook is exported from the project index.ts (if it exists).

js

boolean
Default: false

Generate JavaScript files rather than TypeScript files.

nameAndDirectoryFormat

string
Accepted values: as-provided, derived

Whether to generate the component in the directory as provided, relative to the current working directory and ignoring the project (as-provided) or generate it using the project and directory relative to the workspace root (derived).

skipTests

Internal
boolean
Default: false

When true, does not create spec.ts test files for the new hook.

flat

Deprecated
boolean
Default: false

Create hook at the source root rather than its own directory.

Provide the directory option instead and use the as-provided format. It will be removed in Nx v20.

project

pDeprecated
string

The name of the project.

Provide the directory option instead and use the as-provided format. The project will be determined from the directory provided. It will be removed in Nx v20.

pascalCaseFiles

PDeprecated
boolean
Default: false

Use pascal case hook file name (e.g. useHook.ts).

Provide the name in pascal-case and use the as-provided format. This option will be removed in Nx v19.

pascalCaseDirectory

RDeprecated
boolean
Default: false

Use pascal case directory name (e.g. useHook/useHook.ts).

Provide the directory in pascal-case and use the as-provided format. This option will be removed in Nx v19.