React Native - 观察 AsyncStorage 值变化?

Sim*_*nko 7 react-native asyncstorage

有没有办法订阅AsyncStorage值的变化?我在一个地方有一个设置,保存在AsyncStorage应用程序中,它会影响所有其他屏幕。我需要观察该值,以便可以更新所有屏幕。我尝试了该getValue方法,但它似乎最初只获得一个值,并且不会在更改时更新。

Sin*_*ami -2

您可以AsyncStorage.getItem()在 useEffect 中使用 来在组件安装后立即查看该值。

    useEffect(() => {
    (async () => {
        console.log(await AsyncStorage.getItem('YOUR_ITEM_KEY'));
    })();
}, []);
Run Code Online (Sandbox Code Playgroud)

使用此语法,您可以使用键“YOUR_ITEM_KEY”记录项目。

如果您使用类组件,您可以这样做:

show = async () => {
       console.log(await AsyncStorage.getItem('YOUR_ITEM_KEY'));
}

componentDidMount(){
       this.show();
}
Run Code Online (Sandbox Code Playgroud)