拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 带有多个自变量的React.FC呼叫

带有多个自变量的React.FC呼叫

白鹭 - 2022-02-12 1986 0 0

我试图用三个自变量呼叫该函式,但它不起作用。

这是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>
)
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *