리엑트로 API를 이용해보기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class App extends React.Component{
state = {
dog:''
}
componentDidMount(){
this.refresh()
}
refresh = async () => {
const response = await fetch('https://dog.ceo/api/breeds/image/random')
// 강아지 사진을 랜덤으로 받을 수 있는 api
// => api를 이용하지 않고 DB를 연결해서 해당 DB에 있는 내용을 가져오는 식으로도 할 수 있다.
const data = await response.json()
// response로 받은 내용을 json()형태로 바꾸어 data에 담음
this.setState({dog:data})
// dog의 state.dog를 data로 바꿈
}
render(){
return(
<div>
{console.log(this.state.dog.message)}
{this.state.dog?<img src={this.state.dog.message}/>:'loadding'}
<button onClick={this.refresh}>
새로고침
</button>
</div>
)
}
}
ReactDOM.render(
<App/>,
document.querySelector('#root')
)
</script>
</body>
</html>