import React, { useEffect, useState } from 'react'; import { StyleSheet, Text, View, FlatList, TouchableOpacity, Modal, TouchableWithoutFeedback, Keyboard } from 'react-native'; import TodoItem from './components/TodoItem'; import Ionicons from 'react-native-vector-icons/Ionicons'; import { NavigationContainer } from '@react-navigation/native'; import MemoDetails from './screens/MemoDetails'; import MemoForm from './screens/MemoForm'; import ButtonsForm from './components/ButtonsForm'; import { TabView } from 'react-native-elements'; import memoApi from './db/memoPage.api'; function MemoPage({ navigation }) { const [memos, setMemos] = useState([]) const [selectedIndex, setSelectedIndex] = useState(0) const [modalOpen, setModalOpen] = useState(false); const loadMemos = async () => { try { const memoArray = await memoApi.selectMemo() console.log('memoload', memoArray) setMemos(memoArray); } catch (error) { console.log('error in load memos ( MemoPage.js )', error) } } const addInfo = async (info) => { await memoApi.insertMemo(info) setModalOpen(false); loadMemos(); } const onDeleteHandle = async (id) => { await memoApi.deleteMemo(id) loadMemos(); } useEffect(() => { loadMemos() }, []) return ( { Keyboard.dismiss(); }}> ( navigation.navigate('MemoDetails', {item : item, loadMemos : loadMemos})}> onDeleteHandle(item.id)} /> )} /> setModalOpen(true)} /> setModalOpen(false)} /> ); } const style = StyleSheet.create({ container: { flex: 1, width: '100%', }, modalToggle: { borderWidth: 1, borderColor: 'gray', //gray padding: 5, borderRadius: 10, alignSelf: 'center', //위치를 center로 }, modalContent: { flex: 1, //이후 유용한 키보드를 추가하려고 ex)dismissing keyboard }, TextInput: { borderColor: 'skyblue', height: 40, margin: 12, borderWidth: 1 }, Font: { fontSize: 24 } }); export default MemoPage;