To prevent e and dot in an input type number with React, we can validate the input value in the onChange prop function.
For instance, we write
const C = () => {
//...
const [val, setVal] = useState("");
return (
<div className="App">
<input
type="text"
value={val}
onChange={(e) => setVal(e.target.value.replace(/[^0-9]/g, ""))}
/>
</div>
);
};
to set the onChange prop to a function that replaces non number values with empty strings before call setVal with the string returned by replace that removes all the non digit characters in the input value.
Then we set value to val to show the input value without non digit characters.