Feat: Add support for memo wrapped around a component as an assigned variable

Open
#175 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
react, typescript
Domain
tooling

Research direction

Start by reproducing the supported memo and forwardRef examples, then compare them with the assigned-variable case where memo wraps Component. Trace the type-inference entry point for memo and assigned variables. Done means the final example infers the component props and ref types correctly, alongside the existing cases.

Written by the indexing model from the issue text.

Description

🤩 Currently type inference works for the following cases:

memo((props: ComponentProps) => {}); 
memo(forwardRef<HTMLElement, ComponentProps>(() => {}));

const Component = forwardRef<HTMLElement, ComponentProps>(() => {});
memo<ComponentProps>(Component);

🤯 It would be cool for it to also work for this pls:

const Component = forwardRef<HTMLElement, ComponentProps>(() => {});
memo(Component);
Dominant language
JavaScript
Stars
188
Forks
31
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from atlassian/extract-react-types

All issues in atlassian/extract-react-types

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.