{TIL} 0201 Object.assign()
2021. 2. 2. 07:06ㆍ📔 TIL
1. react.js 에서 state.array의 상태를 변경해야할 때
리액트에서 originList라는 기존 배열에 새로운 원소를 push해야 하는 상황일 때,
아래 코드처럼 setState를 하면서 push를 하면 작동하지 않습니다.
this.setState({originList: originList.push(element)});
이럴 땐 tempList라는 임시 배열을 복사하여 element를 push한 후에,
setState를 통해 originList의 상태를 변경시켜야합니다.
let tempList = Object.assign([], originList);
tempList.push(element);
this.setState({originList: tempList});
Object.assign메서드는 target 객체에 resoureces 객체를 병합시킨 후에
target 객체를 리턴한다. 이때 sources 인자는 복수개도 가능합니다.
Object.assign(target, ...sources)
// ex
let newObject = Obeject.assign([1,2], [3,4]);
let newObject >>> [1, 2, 3, 4]
Object.assign() 메서드는 배열뿐만 아니라 key-value 구조 객체에서도 가능합니다
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }
'📔 TIL' 카테고리의 다른 글
{TIL} 210221 (0) | 2021.02.21 |
---|---|
{TIL} 0218 (0) | 2021.02.18 |
{TIL} 0208 (0) | 2021.02.08 |
{TIL} 0204 (0) | 2021.02.04 |
ls / cd 커맨드 고급 사용법 (0) | 2020.10.28 |