Skip to content

Add implementation type aliases to make types safe application development easier #1619

Open
@jhsware

Description

@jhsware

We have a very, very rich set of types in Inferno and many types have similar names. This can make it hard to pick an appropriate type in application code.

It would be great if we could create a limited set of type aliases with intuitive names that can be used by application developers.

Use case:

  • You want to create a look up dictionary with different components that are resolved at runtime to render a list of various items

What is the correct type for the the component? Is it:

  • IComponent<any, any> | Function
  • Component | Function
  • Component<any> | Inferno.StatelessComponent<any>
  • ComponentType

So a type alias could be:

// Require a Function or Class Component where P is a required set of properties
export type InfernoComponent<P = any> = Component<P> | Inferno.StatelessComponent<P>;

This would save time, encourage type safety and make application code more readable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions