-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
73 lines (62 loc) · 1.79 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import React, { useState } from 'react';
import { View, Text, StyleSheet, FlatList, Alert, ToastAndroid } from 'react-native';
import Header from './components/Header';
import ListItem from './components/ListItem';
import AddItem from './components/AddItem';
import { uuid } from 'uuidv4';
const App = () => {
const [items, setItems] = useState([
{ id: uuid(), text: 'Milk' },
{ id: uuid(), text: 'Eggs' },
{ id: uuid(), text: 'Bread' },
{ id: uuid(), text: 'Juice' },
{ id: uuid(), text: 'Jam' },
]);
const deleteItem = (id) => {
setItems(prevItems => {
console.log("prevItems delete: " + prevItems.filter(item => item.id));
return prevItems.filter(item => item.id != id);
});
}
const addItem = (text) => {
if (!text) {
console.log(uuid());
Alert.alert('Error', 'Please enter an item', [{ text: 'Ok' }]);
// Alert.alert(
// 'Error',
// 'please enter add item title',
// [{
// text: 'OKKK'
// // ,onPress: () => ToastAndroid.show('Ask me later pressed', ToastAndroid.LONG)
// }]);
} else {
setItems(prevItems => {
console.log("prevItems count: " + prevItems.length);
let uuidTemp = uuid();
console.log("addItem uuid: " + uuidTemp);
console.log("addItem text: " + text);
let newItem = { id: uuidTemp, text };
return [newItem, ...prevItems];
});
}
}
return (
<View style={styles.container}>
<Header />
<AddItem addItem={addItem} />
<FlatList
data={items}
renderItem={({ item }) => (
<ListItem item={item} deleteItem={deleteItem} />
)}
/>
</View>
)
};
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: 0,
},
})
export default App;