This is a solution to the Tip calculator app challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
A custom hook to manage the inputs:
const useField = (setState: Dispatcher<number | undefined>) => {
const onChange = (event: React.ChangeEvent<HTMLElement>) => {
const target = <HTMLTextAreaElement>event.target;
if (target.type === "number") {
const { value } = target;
setState(parseInt(value));
} else {
const { id } = target;
setState(parseInt(id));
}
};
return { onChange };
};