如何设置默认值,如果没有,那么如何在React Native中设置AsyncStorage的值

时间:2020-09-24 12:24:35

标签: reactjs react-native react-hooks

我是React Native的新手,所以尝试学习。 我正在尝试使用React Native中的钩子设置默认值,如下所示:

const [recent, setRecent] = useState('No data')

我正在使用异步存储来获取最近的值。如果在异步存储中找不到该值,则需要将默认值设置为No Data

如何实现这种行为?

1 个答案:

答案 0 :(得分:0)

您需要使用useEffect钩子。它将在首次安装组件时运行。在其中,您需要运行一个异步函数来检查AsyncStorage的值。这必须以特定的方式完成,如下面示例所示(创建异步函数,然后立即运行它)。然后根据发现的值更新值。

const [ recent,setRecent ] = React.useState()

React.useEffect(() => {
    const checkAsync = async () => {
        const value = await AsyncStorage.getItem('@storage_Key')
        if (value !== undefined && value !== null){
            setRecent(value)
        } else {
            setRecent('No data')
        }
    }
    checkAsync()
}, [])