Estoy pasando un objeto de options a mi componente SelectableUploadField . Uno de los atributos de los elementos en la matriz de objetos de options es setter , que es una función.
Cuando trato de llamar a la función setter en el componente, aparece un error en la consola que dice options.setter is not a function y no estoy seguro de por qué.
Componente principal (que pasa los accesorios)
export default function ParentComponent() { const [documents, setDocuments] = useState({}) function insertDocument(name, document) { setDocuments(prevState => ({ ...prevState, [name]: document })) } return( <SelectableUploadField options={[ { typeId: 'typeId1', shortLabel: 'label1', title: 'title1', description: 'description 2', setter: insertDocument }, { typeId: 'typeId2', shortLabel: 'label2', title: 'title2', description: 'description2', setter: insertDocument } ]} organisation={organisation} /> ) }Componente hijo (que arroja el error)
function SelectableUploadField({ options }) { function handleClick() { options[0].setter(options.typeId, { name: 'myDocument', type: 'pdf' }) } return( <button onClick={handleClick}>Click me</button> ) } ¿Por qué recibo el error cuando options[index].setter es claramente una función?