티스토리 뷰
JavaScript
계산된 속성명 (Computed Property)
function makeobj(key, value) {
return { [key]: value }
}
console.log(makeobj("hello", "world"))
// { hello: "world" }
let i = 0;
let obj = {
["val" + i++]: i,
["val" + i++]: i
}
console.log(obj)
//{val0: 1, val1: 2}
let param = "size"
let config = {
[param]: 12,
["moblie" + param.charAt(0).toUpperCase() + param.slice(1)]: 4
}
console.log(config)
// { "size": 12, "moblieSize": 4 }
키값을 대괄호 [] 로 묶어주면 된다 이거구만.
Destructuring
const obj = { age: 21, name: "spark", grade: "A"}
const {name, ...rest} = obj;
console.log(rest)
// {age: 21, grade: "A"}...객체의 차집합을 가져온다.
두번째 줄의 ...rest는 앞에 name을 제외한 차집합을 가져온다는 사실.
const [{ prop: x1 } = { prop: 123 }] = []
console.log(x1) // 123
음...어떤 이득이 있는지는 모르겠다
React
- 클래스 형태로 컴포넌트 선언 : 화면도 보여주면서 출력해주는 값들을 유지해야할 때
class App extends React.Component {
render(){
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
}
- 함수 형태 선언 : 단순하게 UI 화면만 return 해야할 때 사용
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
- div 태그 여러개 쓸 때, <> 또는 <Fragment> 태그 사용해서 불필요한 DOM 생성 방지
render(){
return (
<>
<div><h1>헬로우</h1></div>
<div>하이</div>
</>
);
}
- div style 입히기
class App extends React.Component {
render() {
const style = {
backgroundColor: 'blue',
padding: '70px',
color: 'white',
fontSize: '50px'
}
return (
<div style={style}>안녕하세요 ㅎㅎ</div>
);
}
}
또는 이런식으로..좋아보이진 않음
<div style={{
backgroundColor: 'blue',
padding: '70px',
color: 'white',
fontSize: '50px'
}}>안녕하세요 ㅎㅎ</div>
- 상태 변화 예제. onClick 부분에 ( )를 쓰지않고 함수 호출이 되는 것을 볼 수 있음
class Counter extends React.Component {
state = {
number: 0
}
plus = () => { // 화살표 함수가 아니면 바인딩이 안됨 -ㅅ-;
this.setState({number: this.state.number + 1})
}
minus = () => {
this.setState({number: this.state.number - 1})
}
render() {
return (
<div>
<h1>카운터</h1>
<div>값 : {this.state.number}</div>
<button onClick={this.plus}>+</button>
<button onClick={this.minus}>-</button>
</div>
)
}
}
- this.setState 써먹기
let { number } = this.state;
number += 1;
this.setState( { number } )
이 방법이 괜찮은 듯
반응형
'활동 > 교육과정 중 기록' 카테고리의 다른 글
200207 React (0) | 2020.02.07 |
---|---|
200206 React (0) | 2020.02.06 |
200204 React (0) | 2020.02.04 |
200129 JavaScript, jQuery (0) | 2020.01.29 |
200128 JavaScript (0) | 2020.01.28 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발자 취업
- 패스트캠퍼스
- c언어
- 코딩 면접
- 운영체제
- 올인원 패키지
- 컴퓨터공학
- 자료구조
- Fast Campus
- 프로그래밍 온라인 강의
- #패스트캠퍼스 #프로그래밍대학생서포터즈 #올인원패키지 #컴퓨터공학 #성공하는프로그래밍공부법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함