DEV Community

Dennis kinuthia
Dennis kinuthia

Posted on • Edited on

Today i found out : optional typescript function props

While writing a custom table component for react i ran into an interesting issue .

The table takes in props like and array of objects that define the header and column of the table and an array of objects for the rows , with those props the component is able to render a table .

But the point of writing a custom table is to add features not available in a regular html table , so i needed to pass in functions to handle the editing which are optional since they'd only need to be used when the table is in edit mode

Normally in typescript when you have a possibly undefined variable yon can use

interface Types{
person?:{name: string , age: number}
}


const age = person?.age
Enter fullscreen mode Exit fullscreen mode

 

This helps you avoid the cannot access .age of undefined error that normally breaks your code. This implementation won't try to access the variable if it's undefined

 

Something like that exists for functions enabling you to have possibly undefined functions without the function cannot be undefined error

interface Types{
person?:{name: string , age: number}

sayHello?:(name: string)=>void
}
// Then execute the function like this

sayHello.?(person?.name)
Enter fullscreen mode Exit fullscreen mode

check out the table at repo

Top comments (0)