4.6.4.2 todos 저장하기

    자, 그러면 useEffect로 등록한 함수 내부에서 AsyncStorage의 setItem 메서드를 사용합시다.

    App.js

    import React, {useState, useEffect} from 'react';
    import {StyleSheet, KeyboardAvoidingView, Platform} from 'react-native';
    import {SafeAreaProvider} from 'react-native-safe-area-context';
    import SafeAreaView from 'react-native-safe-area-view';
    import AsyncStorage from '@react-native-community/async-storage';
    
    import DateHead from './components/DateHead';
    import AddTodo from './components/AddTodo';
    import Empty from './components/Empty';
    import TodoList from './components/TodoList';
    
    function App() {
      const today = new Date();
    
      const [todos, setTodos] = useState([
        {id: 1, text: '작업환경 설정', done: true},
        {id: 2, text: '리액트 네이티브 기초 공부', done: false},
        {id: 3, text: '투두리스트 만들어보기', done: false},
      ]);
    
      // 저장
      useEffect(() => {
        async function save() {
          try {
            await AsyncStorage.setItem('todos', JSON.stringify(todos));
          } catch (e) {
            console.log('Failed to save todos');
          }
        }
        save();
      }, [todos]);
    
    (...)
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.