How to pass function as a prop in react typescript

I am learning typescript with react and I occurred problem. I tried to pass function as a prop from my App component to child component named DataForm.

but I got an error:

Type ‘(f: any) => any’ is not assignable to type ‘() => void’.
Parameter ‘f’ implicitly has an ‘any’ type.

And this is my code


import React from 'react';
import './App.css';
import DataForm from './components/form';

export const Data = {
  name: "",
  country: "",

function App() {

  const generateCard = ()=>{
    console.log(" generateCard runned")
  return (
      <h1>Human Card Generator</h1>
      <DataForm  createCard = { generateCard }/>


export default App;


import React from 'react'
import { Data } from '../App'
import 'bootstrap';

interface dataFormProps{
    createCard: ()=>void

export default function DataForm({ createCard = f => f }: dataFormProps){

    const dataProceed = (e: any) =>{ = (document.getElementById('name') as HTMLInputElement).value; = (document.getElementById('country') as HTMLInputElement).value;
        Data.age = (document.getElementById('age') as HTMLInputElement).value;
        Data.adress = (document.getElementById('adress') as HTMLInputElement).value;

        <form onSubmit = { dataProceed }>
            <input type="text"   id = "name"  />
            <input type="text"  id = "country" />
            <input type="number" id="age" />
            <input type="text" id = "adress"/>
            <button type="submit">stwórz kartę</button>


The issue isn’t when passing the function, it’s when destructuring the props and providing a default function:

{ createCard = f => f }: dataFormProps

This code indicates that createCard should be a function which accepts a parameter and returns a value. Which it doesn’t:

createCard: ()=>void

Make the default parameter match the signature:

{ createCard = () => {} }: dataFormProps