-
Notifications
You must be signed in to change notification settings - Fork 0
/
46_47_map_with_api_data.js
63 lines (47 loc) · 1.6 KB
/
46_47_map_with_api_data.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
import React,{useEffect,useState} from 'react';
import {Platform,Button, Text,StatusBar, View,ActivityIndicator,StyleSheet,Modal,Pressable,ScrollView } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
//import { createBottomTabNavigator} from "@react-navigation/bottom-tabs"
import {createMaterialTopTabNavigator} from "@react-navigation/material-top-tabs"
const Tab = createMaterialTopTabNavigator();
const App = () => {
return (
<NavigationContainer>
<Tab.Navigator>
<Tab.Screen name="SignUp" component={SignUp} />
<Tab.Screen name="Post" component={Post} />
</Tab.Navigator>
</NavigationContainer>
);
}
const Post = () => {
const [data, setData] = useState(undefined);
const getAPIData = async () => {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
const tempdata = await response.json();
setData(tempdata);
};
useEffect(() => {
getAPIData();
}, []);
return (
<ScrollView>
<View style={{ flex: 1 }}>
{data &&
data.map((item) => (
<View key={item.id} style={{padding:10,borderBottomColor:"#ccc",borderBottomWidth:1}}>
<Text style={{ fontSize: 20,backgroundColor:"#ddd" }}>{item.id}</Text>
<Text style={{ fontSize: 20 }}>{item.title}</Text>
<Text style={{ fontSize: 20 }}>{item.body}</Text>
</View>
))}
</View>
</ScrollView>
);
};
const SignUp = ()=>{
return <View style={{flex:1,justifyContent:'center',alignItems:'center'}}>
<Text style={{fontSize:40}}>SignUp</Text>
</View>
}
export default App;