我试图用三个参数调用函数,但它不起作用。
这里是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个"
由于Form结构是一个组件,您不应该将其作为函数调用。相反,您应该创建一个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,
});
Form结构
是一个功能组件,因此您最好使用以下语法(JSX)来呈现它:
return (
<Modal
visible={this.state.modalVisible}
onCancel={() => this.setState({ modalVisible: false })}
>
<FormStructure record={record} question={this.state.question} dropdownItems={this.state.dropdownItems)} />
</Modal>
)