Basically I have input element like
<input
autoFocus
value={newPrice}
onChange={onPriceChange}
type='number'
onKeyDown={handleKeyPress}
onBlur={onFocusChange}
ref={inputRef}
/>
and I want to setPrice by entering number after onBlur or pressing enter. On blur function work fine but as soon I press enter price set to NaN
//My OnBlur handler
function onFocusChange() {
const price = Number(inputRef.current?.value)
setNewPrice(price)
changePrice(id, price)
setEdit(false)
}
// Keydow handler
function handleKeyPress(e: KeyboardEvent<HTMLInputElement>) {
if (e.key === 'Enter') {
@ts-ignore
setNewPrice(Number(e.target.value))
setEdit(false)
}
}
even if i use ref or event to access value during pressing enter it log perfectly fine value but as soon as state update i change to NaN. I also tried form which is take action as soon as i press enter. I handle onSumbit but problem is same NaN
need help what am i doing wrong
tried form and keydown both getting NaN. Update newPrice after pressing enter.