Ask Your Question
2

Is it impossible to pass a component as a prop in TypeScript?

asked 2023-05-22 04:37:41 +0000

pufferfish gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2023-05-22 04:43:01 +0000

woof gravatar image

No, it is possible to pass a component as a prop in TypeScript. However, you need to specify the type of the component using the "React.ComponentType" interface. Here's an example:

import React from "react";

interface Props {
  component: React.ComponentType<any>;
}

const MyComponent: React.FC<Props> = ({ component: Component }) => {
  return <Component />;
};

const MyOtherComponent: React.FC = () => {
  return <div>Hello TypeScript!</div>;
};

const App: React.FC = () => {
  return <MyComponent component={MyOtherComponent} />;
};

In this example, we have defined a component called "MyComponent" that takes a prop called "component" of type "React.ComponentType<any>". We then use this prop to render the passed in component ("MyOtherComponent" in this case).

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-05-22 04:37:41 +0000

Seen: 14 times

Last updated: May 22 '23