gpt4 book ai didi

javascript - react native : state is getting undefined inside useCallBack hook function

转载 作者:行者123 更新时间:2023-12-02 22:44:23 25 4
gpt4 key购买 nike

状态在 useCallBack Hook 内变得未定义,我认为它没有获得状态变量的范围

const [selectedLocation, setSelectedLocation] = useState()
const selectLocationHandler = (event) => {
setSelectedLocation({
lat: event.nativeEvent.coordinate.latitude,
lng: event.nativeEvent.coordinate.longitude
})
console.log('set location', selectedLocation)
}

const saveLocationPickerHandler = useCallback(() => {
console.log('saveLocation', selectedLocation)
if (!selectedLocation) {
return;
}
props.navigation.navigate('DeliveryLocation', { pickedLocation: selectedLocation })
}, [])

设置位置我正在获取对象{ “纬度”:37.775030512686214, “液化石油气”:-122.4273883345241,}

控制台中未定义保存位置

最佳答案

您需要提供 selectedLocation 作为依赖项。否则,如果状态发生变化,回调将不会更新。

const saveLocationPickerHandler = useCallback(() => {
console.log('saveLocation', selectedLocation)
if (!selectedLocation) {
return;
}
props.navigation.navigate('DeliveryLocation', { pickedLocation: selectedLocation })
}, [selectedLocation])

如果您提供一个空数组作为依赖项,则 useCallback 函数将始终具有初始状态并且永远不会更新(selectedLocation)。这与 useEffect 具有相同的行为

关于javascript - react native : state is getting undefined inside useCallBack hook function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58470456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com