inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌

배열에 데이터 삽입하기

Object.assign으로 값을 복사하여 concat하는 이유가 무엇인가요?

418

천재만재주벳챠

작성한 질문수 3

1

궁금합니다.

javascript react

답변 1

1

niobbam

handleCreate = data => {
    console.log(data);
    // this.state.information.push(data); X

    const { information } = this.state;

    this.setState({
      information: information.concat(
        // 합침

        Object.assign({}, data, {
          id: this.id++
        }) // 새롭게 들어오는 데이터
      )
    });
  };

이 부분을 말씀하시는 것 같은데,

먼저 Object.assign을 하는 이유는 information의 값을 업데이트하기 위함입니다.

다음으로 concat을 하는 이유는 연락처에 있는 이전의 데이터들에 이어 붙이기 위함입니다.

만약 information: Object.assign({}, data, {id: this.id++})) 만 있다면, information에는 새로운 name과 phone만 들어가게 됩니다.

추가적으로 이렇게도 가능합니다.

const { information } = this.state;

this.setState({
  information: information.concat({
    ...data,
    id: this.id++
  })
});

key is not a prop 에러에 대하여

0

697

1

App.js에서 handleCreate 함수 생성 시 오류

0

463

1

PhoneForem.js 파일에서 [e.target.phone] : e.target.value 해줘야하지 않나요?

0

406

1

firebase에서 db 데이터 값 가져오기 중...

0

532

1

강의 교재 받을 수 있나요?

0

438

0

라이프사이클 관련 질문

0

289

0

onClick = {smoe callback} 은 render 를 다시 호출 하나요?

0

225

0

동영상 하단에 링크가 없어요

0

314

0

var를 사용안한다 하셨는데

0

411

1

수강자료는 어디서 받나요

1

584

1

영상 링크가 변경된 것 같습니다.

10

440

0

계속 보고있지만 구동되는 방향성을 이해못하겠어요 ㅠㅠ.

0

280

0

리액트 virtualDOM 개념과 state 불변성 관련 개념이 어떻게 다른건지 궁금합니다.

0

230

0

npm 을 사용해서 create 하려니까 안되네요

0

262

0

배열안의 데이터 수정하기에서 12:19 화면 부분이 궁금해서 질문드립니다.

0

229

0

계속 PhoneForm.js 파일을 못읽는거같더니

1

267

0

this에 관해서 질문드립니다!!

0

334

1

배열 데이터 렌더링 및 관리파트에서 props로 값 가져올때 질문있습니다!

0

218

0

함수형 컴포넌트는 state를 어떤 식으로 정의하는지 궁금합니다.

0

417

1

0

343

1

import 질문

0

292

2

index.js 파일이 다릅니다

2

224

0

const {변수명} = ? 표현법

1

2862

1

create-react-app 오류 (Cannot find module './encoding/utf8')

0

278

0