Correction des dépendances des fonctions onChange et onKeyDown,

celle-ci ne se mettaient pas à jour au changement des fonctions d'origine,
ce qui causait un décalage d'unité ("€ / an" au lieu de "€ / mois") après un changement mensuel <> annuel.

fix #1880
pull/1907/head
Wiinxt 2021-12-16 16:40:44 +01:00 committed by Maxime Quandalle
parent e5eb5dedbc
commit eef5462fa4
1 changed files with 5 additions and 4 deletions

View File

@ -153,19 +153,20 @@ function useKeepCursorPositionOnUpdate(
const [selection, setSelection] = useState<null | number>(null)
const [value, setValue] = useState<string | undefined>()
const [rerenderSwitch, toggle] = useState(false)
const { onChange: inputOnChange, onKeyDown: inputOnKeyDown } = inputProps
const onChange = useCallback(
(e) => {
const input = e.target
setValue(input.value)
setSelection(Math.max(0, input.selectionStart, input.selectionEnd))
toggle(!rerenderSwitch)
inputProps.onChange?.(e)
inputOnChange?.(e)
},
[rerenderSwitch, toggle, setValue, setSelection]
[inputOnChange, rerenderSwitch]
)
const onKeyDown = useCallback(
(e) => {
inputProps.onKeyDown?.(e)
inputOnKeyDown?.(e)
const input = e.target
if (
!(
@ -182,7 +183,7 @@ function useKeepCursorPositionOnUpdate(
)
toggle(!rerenderSwitch)
},
[setSelection, rerenderSwitch, toggle]
[inputOnKeyDown, rerenderSwitch]
)
useEffect(() => {
const input = inputRef.current