Reputation: 2286
interface ITimer {
minutes: number,
seconds: number,
completed: boolean
};
const renderTimer = ({ minutes, seconds, completed }: ITimer) => {
if (completed) {
console.log('time is up')
} else {
return <em>{minutes}:{seconds}</em>
}
};
after I set the type of minutes, seconds and completed argument in renderTimer function, I get a yellow line error under ({ minutes, seconds, completed }: ITimer) => { saying
var completed: boolean
Not all code paths return a value.
this error occurs because the function does not return the value of completed.
How can I tell this function that minutes and seconds are only returned value using typescript?
Upvotes: 0
Views: 437
Reputation: 1137
You have to return something on if
condition.
interface ITimer {
minutes: number,
seconds: number,
completed: boolean
};
const renderTimer = ({ minutes, seconds, completed }: ITimer) => {
if (completed) {
console.log('time is up')
return null; //or <></>
} else {
return <em>{minutes}:{seconds}</em>
}
};
Upvotes: 1