【问题标题】:React Native load state from Async storage on start在启动时从异步存储中反应本机负载状态
【发布时间】:2020-04-03 12:13:48
【问题描述】:

状态“提醒”保存到带有关键“提醒”的 AsyncStorage。 现在我需要在每次 App 启动时从 AsyncStorage 加载带有关键“提醒”的“提醒”。 然后在 FlatList 中显示它。

我该怎么做?

import React, {useState, Component} from 'react';
import {
  StyleSheet,
  Text,
  View,
  SafeAreaView,
  FlatList,
} from 'react-native';
import {AsyncStorage} from 'react-native';

function Reminders() {

  // REMINDERS
  const [reminders, setReminders] = useState([
    {day: 'MON', time: new Date(), status: true},
    {day: 'TUE', time: new Date(), status: true},
    {day: 'WED', time: new Date(), status: true}
  ]);

  return (
    <View>
      <FlatList
        data={reminders}
        renderItem={({item, index}) => (
          <View><Text>{item}</Text></View>
  );
}
export default Reminders;

【问题讨论】:

    标签: javascript reactjs react-native setstate asyncstorage


    【解决方案1】:

    你可以使用钩子useEffect:

    useEffect(readReminders, []);
    
    function readReminders() {
        AsyncStorage.getItem('reminders').then(value=> setReminders(value));
    }
    

    【讨论】:

    • 不知道怎么用效果。你能告诉我把你的代码放在我的哪里吗?
    • 是的,把我的代码放在你的return之前,并在react导入中包含useEffect,让它像这样:import React, {useState, useEffect, Component} from 'react';
    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多