reactjs - Typescript ile bir React bileşeni için çocukları nasıl yasaklayabilirim?


Çocuk elemanların geçilmesini beklemediğim bir React bileşenim var. Bunu TypeScript ile zorlayabilir miyim?

Cevap #1

Bileşenin özelliklerini şu şekilde tanımlayabilirsiniz:

type ComponentProps = {
  children?: undefined;
}

Cevap #2

type MyComponentProps = {
  children?: never;
}

Geçerli durumlar:

  • <MyComponent />

Geçersiz durumlar:

  • <MyComponent>{undefined}</MyComponent>
  • <MyComponent>{'foobar'}</MyComponent>
  • <MyComponent>foobar</MyComponent>
  • <MyComponent><>foobar</></MyComponent>
  • <MyComponent><br /></MyComponent>
  • <MyComponent><b>foobar</b></MyComponent>
  • <MyComponent><Foo /></MyComponent>

İlgili makaleler