簡體   English   中英

在帶有flowtype的React中,我如何只鍵入某些道具並允許其他任何道具

[英]In React with flowtype how do I type only certain props and allow any others

我正在以形式進行輸入,並希望為我的輸入組件鍵入某些道具,但允許其他任何類型都輸入而無需鍵入它們-就像輸入字段的所有屬性一樣。

我真的需要為所有這些對象創建一個類型嗎?

流支持亞型多態性。 因此,如果您定義這樣的類型

type Foo = {
  a: number,
  b: string,
}

至少具有這些字段的任何對象都將是有效的Foo

let foo: Foo = { 
    a: 0,
    b: "hello",
    c: false // this is ok
}

但是,如果您實際上需要訪問這些字段,則應將它們作為類型的一部分。

您可以定義自定義道具+任何輸入道具的交集類型:

type Props = {
  foo: string,
  bar: number,
} & $Shape<HTMLInputElement>

$上面使用的形狀

復制提供的類型的形狀,但將每個字段都標記為可選。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM