Estoy tratando de llamar a la función con tres parámetros pero no funciona.
Aquí está el React.FC :
const FormStructure: React.FC<{ record: ModelClass, question: Array<ModelClass>, dropdownItems: Array<ModelTypeClass> }> = ({ record, question, dropdownItems, }) => { ... }y esta es la llamada a la función:
return ( <Modal visible={this.state.modalVisible} onCancel={() => this.setState({ modalVisible: false })} > {FormStructure(record, this.state.question, this.state.dropdownItems)} </Modal> )Siguiente mensaje de error: "Se esperaban 1 o 2 argumentos, pero se obtuvieron 3"
Dado que FormStructure es un componente, no debería llamarlo como una función. En su lugar, debe crear un elemento JSX:
<Modal visible={this.state.modalVisible} onCancel={() => this.setState({ modalVisible: false })} > <FormStructure record={record} question={this.state.question} dropdownItems={this.state.dropdownItems} </FormStructure> </Modal>Si, hipotéticamente, desea llamarlo como una función (nuevamente, no debe hacerlo ya que es un componente), la forma de ajustarse a la definición de tipo es pasar un objeto con tres propiedades:
FormStructure({ record: record, question: this.state.question, dropdownItems: this.state.dropdownItems, });FormStructure es un componente funcional, por lo que es mejor renderizarlo con la siguiente sintaxis (JSX):
return ( <Modal visible={this.state.modalVisible} onCancel={() => this.setState({ modalVisible: false })} > <FormStructure record={record} question={this.state.question} dropdownItems={this.state.dropdownItems)} /> </Modal> )