【发布时间】:2020-04-06 15:12:54
【问题描述】:
所以我正在渲染一个必须切换
值的开关const [useBioAuth, setUseBioAuth] = useState<boolean>(false);
这是我的开关
<Switch
onValueChange={toggleSwitch}
trackColor={{ true: colors.secondary }}
thumbColor={colors.input.bg.normal}
style={style.marginT10}
value={useBioAuth}
/>
这是我的切换开关功能
const toggleSwitch = useCallback(() => {
setUseBioAuth(!useBioAuth);
console.log('toggle '+ useBioAuth)
_storeData();
}, [_storeData, useBioAuth]);
const _storeData = useCallback(async () => {
try {
await AsyncStorage.setItem('useBioAuth', JSON.stringify(useBioAuth));
if (!useBioAuth) {
await AsyncStorage.removeItem('useBioAuth');
}
} catch (error) {
//TODO
}
}, [useBioAuth]);
但是状态总是比切换慢一步,控制台日志在应该为假时显示为真,反之亦然
有什么想法吗? 谢谢
【问题讨论】:
标签: react-native react-hooks use-state