Я изучал React с Typescript, и, поскольку я хотел создать компонент класса, оказалось, что нам нужно использовать дженерики следующим образом:
type MyProps = {
// using `interface` is also ok
message: string;
};
type MyState = {
count: number; // like this
};
class App extends React.Component<MyProps, MyState> {
state: MyState = {
// optional second annotation for better type inference
count: 0,
};
render() {
return (
<div>
{this.props.message} {this.state.count}
</div>
);
}
}
Хорошо, так как мое исследование говорит, что дженерики помогают достичь возможность повторного использования, например, когда мы создаем функцию с генериками, подобными этой:
function identity<T>(arg: T): T {
return arg;
}
НО, что я не могу обернуть головой, так это то, ПОЧЕМУ нам нужно использовать здесь генерики class App extends React.Component<MyProps, MyState>
?