個別の型定義を作成するのではなく、常にオブジェクトの構造化をインラインで型指定するように強制したいと考えています。たとえば、React コンポーネントの場合、すべてのコードで次のパターンを使用するように強制したいとします:
const SomeComponent = ({ foo, bar }: { foo: 文字列, bar: ブール値 }) => { 戻る... }### の代わりに: ###
type Props = { foo: 文字列、 バー: ブール値、 }; const SomeComponent = ({ foo, bar }: Props} => { 戻る... }
ESLint ルールを確認しましたが、同様のものは見つかりませんでした。何か提案はありますか?
私の知る限り、現在、このモードを強制する既存の lint ルールはありません。
#no-restricted-syntax
リアクティブ関数コンポーネントは単なる関数であるため、「リアクティブ関数コンポーネント」のみに一致するセレクターを作成することはできません。したがって、(私の例が示すように) この単純なアプローチでは、コードベースに多くのノイズと誤検知が発生します。これはチームにノイズをもたらすため、良くありません。(Example) を使用して lint ルールを強制できますが、投稿のコメントが示唆するように、これは良いアイデアではありません。
を作成することはできますが、この数値を実際にゼロにすることはできません。
ところで、このコーディング スタイルは業界の慣例に反しているため、適切ではありません。たとえば、高次コンポーネントやラッパー コンポーネントを作成する場合など、コンシューマにインポートして他のタイプと組み合わせることができるように、別のタイプを定義することは非常に一般的で一般的です。常に型をインラインで定義すると、
Params<typeof MyComponent>[0]経由で prop 型を取得する以外に選択肢がないため、作業が難しくなります。