Fix uncap indicator optimistic ui update bug

This commit is contained in:
Justin Edmund 2022-02-02 18:43:55 -08:00
parent f482b34429
commit 065c198e67

View file

@ -146,12 +146,6 @@ const WeaponGrid = (props: Props) => {
} }
} }
const memoizeAction = useCallback(
(id: string, position: number, uncapLevel: number) => {
debouncedAction(id, position, uncapLevel)
}, []
)
function initiateUncapUpdate(id: string, position: number, uncapLevel: number) { function initiateUncapUpdate(id: string, position: number, uncapLevel: number) {
memoizeAction(id, position, uncapLevel) memoizeAction(id, position, uncapLevel)
@ -162,13 +156,18 @@ const WeaponGrid = (props: Props) => {
// Optimistically update UI // Optimistically update UI
updateUncapLevel(position, uncapLevel) updateUncapLevel(position, uncapLevel)
} }
const memoizeAction = useCallback(
(id: string, position: number, uncapLevel: number) => {
debouncedAction(id, position, uncapLevel)
}, [props]
)
const debouncedAction = useMemo(() => const debouncedAction = useMemo(() =>
debounce((id, position, number) => { debounce((id, position, number) => {
saveUncap(id, position, number) saveUncap(id, position, number)
}, 1000), [saveUncap] }, 500), [props, saveUncap]
) )
const updateUncapLevel = (position: number, uncapLevel: number) => { const updateUncapLevel = (position: number, uncapLevel: number) => {
@ -176,7 +175,7 @@ const WeaponGrid = (props: Props) => {
mainWeapon.uncap_level = uncapLevel mainWeapon.uncap_level = uncapLevel
setMainWeapon(mainWeapon) setMainWeapon(mainWeapon)
} else { } else {
let newWeapons = Object.assign({}, weapons) let newWeapons = Object.assign({}, props.weapons)
newWeapons[position].uncap_level = uncapLevel newWeapons[position].uncap_level = uncapLevel
setWeapons(newWeapons) setWeapons(newWeapons)
} }