import React, {Component} from 'react';
import {View, Text, Button, StyleSheet, ScrollView} from 'react-native';
export default class App extends Component{
state = {data: "초기값"};//data의 초기값을 "초기값"으로 설정
render(){
const {data} = this.state;
return(
<View style={{flex:1, padding:16}}>
<Button title="fetch data from network" onPress={this.fetchData}></Button>
<ScrollView style={styles.scroll}>
<Text style={styles.text}>{data}</Text>//{변수}이런식으로 state값을 가져옴
</ScrollView>
</View>
);
}//render method ..
// network 작업을 하는 메소드
fetchData=()=>{
var request = new XMLHttpRequest();
request.onreadystatechange = (e) =>{
if(request.readyState !== 4){
return;
}
if(request.status ===200){
console.log('success',request.responseText);
this.setState({//state 안에 있는 변수의 값을 수정해줌
data: request.responseText //data값이 request.responseText 값으로 들어가게된다
})
}else{
console.warn('error');
}
};
request.open('GET','API URL 주소');
request.send();
}// fetchDat method..
}//Main class..
const styles= StyleSheet.create({
scroll:{marginTop:16, backgroundColor:'gray'},
text:{padding:8, color:'white'},
});
Fetch를 사용하여 Api의 값을 불러오고 불러오게되면 state.data에 값을 넣어준다
스크롤뷰에 Text는 data값(data값이 Api값으로 바꼈을때 바로 바뀜)
'React-Native' 카테고리의 다른 글
React-Native 화면이동3 (0) | 2021.01.28 |
---|---|
React-Native 화면전환2 (0) | 2021.01.26 |
React-Native CSS (0) | 2021.01.13 |
React-Native 화면전환 (0) | 2021.01.08 |
React-Native 버튼클릭이벤트 (0) | 2021.01.05 |