TypeScriptのOptional Property
TypeScriptで、必須でないpropertyも含めた型宣言をしてしまうと、指定しなかった場合にエラーが出てしまう。
interface Props extends WithStyles<typeof styles> {
title: string
default_order: 'asc' | 'desc';
default_orderBy: string;
league: 'Central' | 'Pacific';
...
}
class CommonTable extends React.Component<Props, State> {
...
}
...
class Main extends React.Component<MainProps> {
render() {
return (
<CommonTable
title="交流戦順位表"
default_order="desc"
default_orderBy="勝率"
// league を指定しないとエラーになる
/>
...
)
}
Optionalな値を宣言したければ?
をつければよい。この場合、必須ではないが指定するならこの型、といった宣言になる。
interface Props extends WithStyles<typeof styles> {
title: string
default_order: 'asc' | 'desc';
default_orderBy: string;
league?: 'Central' | 'Pacific';
...
}