TIL

김승용·2021년 3월 24일
0

React 기록

이해보단 일단 사용법부터....


1. 이벤트를 줄때는 DOM과는 달리 camelCase로 입력한다.

onChange, onClick

2. 메서드 안에서 this값을 받으려면 메서드 뒤에 .bind(this)만 붙여주면 된다.

test해본 결과

1번 방법 : 에러뜸.

 Change(e) {
    this.setState({
      newcontent : e.target.value
    })
  }.bind(this)

2번 방법 : 굳굳

constructor(props){
    super(props)
    this.change = this.change.bind(this)
}
 change(e) {
    this.setState({
      newcontent : e.target.value
    })
  }

3번 방법 : 참신하다

 Change = (e) => {
    this.setState({
      newcontent : e.target.value
    })
  }

2번방법처럼 constructor안에서 bind(this)를 적용시켜주니 잘 된다. 1번방법은 왜 안되는지 잘 모르겠다 ㅠㅠ

3. state의 값을 바꾸려면 state가 아닌 setState()로 바꿔야한다.

class Test extends Component{
  constructor(props){
    super(props)
    this.state = {
      user : 'yong'
      }
  }
  change() {
    this.setState(() => {
      return { 
	user : 'yongyong'
      }
  })  

4. props나 state가 바뀌면 화면이 다시 그려진다.

이벤트등으로 props나 state가 변경되면 화면에 리랜덩링 된다.


add.

yyyy-mm-dd 형식으로 날짜값 받기

console.log(new Date()) // Thu Mar 25 2021 01:37:19 GMT+0900 (대한민국 표준시)

console.log(new Date().toISOString()) // '2021-03-24T16:37:19.111Z'

console.log(new Date().toISOString().slice(0,10)) //  '2021-03-24'

new Date로 현재 날짜를 받고,toISOString()으로 '-'형식의 날짜를 받은 후, slice로 9번째 자리까지만 출력 하면 2011-10-05가 된다!

아마 더 좋은 방법이 있겠지? 하지만 이 방법도 있다는 것을 기록!

profile
개발 기록

0개의 댓글