我試圖用三個引數呼叫該函式,但它不起作用。
這是React.FC:
const FormStructure: React.FC<{ record: ModelClass, question: Array<ModelClass>, dropdownItems: Array<ModelTypeClass> }> = ({
record, question, dropdownItems,
}) => {
...
}
這是函式呼叫:
return (
<Modal
visible={this.state.modalVisible}
onCancel={() => this.setState({ modalVisible: false })}
>
{FormStructure(record, this.state.question, this.state.dropdownItems)}
</Modal>
)
以下錯誤訊息: “需要 1-2 個引數,但得到 3 個”
uj5u.com熱心網友回復:
由于 FormStructure 是一個組件,因此不應將其作為函式呼叫。你應該創建一個 JSX 元素:
<Modal
visible={this.state.modalVisible}
onCancel={() => this.setState({ modalVisible: false })}
>
<FormStructure
record={record}
question={this.state.question}
dropdownItems={this.state.dropdownItems}
</FormStructure>
</Modal>
假設,如果您想將其作為函式呼叫(同樣,您不應該這樣做,因為這是一個組件),則符合型別定義的方法是傳入具有三個屬性的物件:
FormStructure({
record: record,
question: this.state.question,
dropdownItems: this.state.dropdownItems,
});
uj5u.com熱心網友回復:
FormStructure 是一個功能組件,所以你最好使用以下語法(JSX)來渲染它:
return (
<Modal
visible={this.state.modalVisible}
onCancel={() => this.setState({ modalVisible: false })}
>
<FormStructure record={record} question={this.state.question} dropdownItems={this.state.dropdownItems)} />
</Modal>
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/390796.html
標籤:javascript 反应 打字稿
