일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 #파이썬 #알고리즘 #코딩테스트
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- java #자바 #나동빈
- react #리액트 #동빈나
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- css #생활코딩 #웹
- 다익스트라
- 자바 #java
- DFS
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 재귀
- 알고리즘
- java #자바 #생활코딩
- PYTHON
- 프로그래머스
- 다이나믹프로그래밍
- css #웹 #생활코딩
- 투포인터
- 백트랙킹
- BFS
- 파이썬
- 파이썬 #백준 #알고리즘 #코딩테스트
- 코딩테스트
- dp
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 백준
- java #자바 #동빈나
- 백준 #알고리즘 #파이썬 #코딩테스트
- Dijkstra
- java #자바
Archives
- Today
- Total
커리까지
[동빈나] 9강 - React의 라이프 사이클 이해 및 API 로딩 처리 구현하기 본문
728x90
SMALL
리액트 라이브러리가 처음 컴포넌트를 실행하는 순서
- constructor()를 불러온다.
- componentWillMount()
- 컴포넌트를 마운트 하기 전에 이 함수를 불러온다.
- render()
- 실제로 컴포넌트를 화면에 그린다.
- componentDidMount()
- 그 다음에 이 함수가 불러와진다.
- props or state -> shouldComponentUpdate()
- 값이 변경되었을 경우 이 함수를 불러온다.
import CircularProgress from '@material-ui/core/CircularProgress';
const styles = theme => ({
root:{
width:'100%',
marginTop:theme.spacing.unit * 3,
overflowX:'auto'
},
table:{
minWidth:1080
},
progress:{
margin:theme.spacing.unit * 2
}
})
-------------------
class App extends React.Component{
state ={
customers:"",
completed:0
}
- progress를 사용하기 위해서 패키지를 import하고 progress의 스타일을 부여한다.
- 또한 progress는 100까지 게이지가 차기때문에 completed에 0이란 값을 넣어준다.
progress = () => {
const {completed} = this.state;
this.setState({completed:completed >= 100 ? 0: completed + 1});
}
--------
componentDidMount(){
this.timer = setInterval(this.progress, 20);
this.callApi()
.then(res => this.setState({customers:res}))
.catch(err => console.log(err));
}r
- progress를 만들어서 완료상태를 받아오소 해당 상태에 따라 계속 값을 업데이트 한다.
- 그리고 timer를 줘서 간격을 조정한다.
<TableBody>
{this.state.customers ? this.state.customers.map(c=>{ return( <Customer key={c.id} id={c.id} image={c.image} name={c.name} birthday={c.birthday} gender={c.gender} job={c.job} />)})
:
<TableRow>
<TableCell colSpan="6" align="center">
<CircularProgress className={classes.progress} variant="determinate" value={this.state.completed}/>
</TableCell>
</TableRow>
}
</TableBody>
- 테이블을 줘서 하나의 공간을 만들어주고 값을 넘겨주기 위해 value를 주었다.
728x90
LIST
'react' 카테고리의 다른 글
11강 - 고객(Customer) DB 테이블 구축 및 Express와 연동하기 (0) | 2021.05.28 |
---|---|
[동빈나] 10강 - AWS RDS 서비스를 이용하여 MySQL DB 구축하기 (0) | 2021.05.24 |
[동빈나] 8강 - Node.js Express에서 REST API 구축하기 (0) | 2021.05.12 |
7강 - Node.js Express 서버 개발환경 구축하기 (0) | 2021.05.03 |
5강 고객 컴포넌트 구조화하기 - 6강 Material UI를 적용하여 고객 테이블 디자인하기 (0) | 2021.05.03 |
Comments