본문 바로가기
프론트엔드/리액트

[MUI] 그리드 key-value 변수를 객체에 입혀주는 방법

by 1005ptr 2022. 11. 30.
반응형

그리드에서 셀 데이터 변경 이벤트를 처리한다.

id, field, value가 넘어온다.

찾아보니까 아래 코드 모양이 제일 예쁘다.

map을 써서 조건문으로 바꾸고 싶은 값을 바꿔줌

근데 content라는 속성 key가 딱 정해져있지 않고 바뀐다.

setData(
    data.map((it) =>
    	it.id === targetId ? { ...it, content: newContent } : it
    )
);

 

 

기존 객체에 이렇게 입혀주고 싶다.

key:value 형태는 안되나보다.

객체에 바로 key:value 형태로는 안써지는 듯 하여

object['key'] = value; 형태로 써야겠다 싶어서

아래 코드 처럼 BaseItem에 인덱스 시그니처 추가

interface BaseItem {
  [key: string]: any;
  id: any;
  selected?: boolean;
}
 

근데 써놓고 보니까 더럽다. map만 딱 썼을떄는 깔끔해보였는데 안더러운 방법을 찾아봐야 겠다.

당장은 검색어가 떠오르지 않는데 좀 전반적으로 자바스크립트 공부를 해야될 것 같음

 

 

https://developer-talk.tistory.com/297

 

[TypeScript]인덱스 시그니처(Index Signature) 사용 방법

인덱스 시그니처(Index Signature)이란? 인덱스 시그니처(Index Signature)는 { [Key: T]: U } 형식으로 객체가 여러 Key를 가질 수 있으며, Key와 매핑되는 Value를 가지는 경우 사용합니다. 이번 포스팅에서는

developer-talk.tistory.com

https://velog.io/@fltxld3/React-로-배열-수정하기-feat.일기장

 

[React] useState( )로 배열 수정하기 (feat.일기장)

배열을 이용한 React의 List에 아이템을 동적으로 수정하기 (with조건부렌더링) 🎯코딩 순서 정리 DiaryItem.js에 가서 수정버튼을 생성한다. 수정버튼을 클릭하면 버튼은 수정취소,수정완료 버튼으로

velog.io

 

반응형

댓글