제로초님
130
작성한 질문수 62
제로초님 안녕 하세요
불변성 관련 해서 궁금한게 있어서 질문 남깁니다.
const [ dataInfo, setDataInfo ] = useState(
{
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'My First dataset',
fill: false,
lineTension: 0.1,
backgroundColor: 'rgba(75,192,192,0.4)',
borderColor: 'rgba(75,192,192,1)',
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: 'rgba(75,192,192,1)',
pointBackgroundColor: '#fff',
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: 'rgba(75,192,192,1)',
pointHoverBorderColor: 'rgba(220,220,220,1)',
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
data: [65, 59, 80, 81, 56, 55, 40]
}
]
}
)
const Test = useCallback((e) => {
e.preventDefault()
setDataInfo((prevState) => ({
...prevState,
datasets: [(prev) => {
fill:true
}]
})
)
}, [])
Test라는 버튼을 클릭 했을 때
dataInfo state안에 있는 datasets 객체에서 다른 것들은 유지 하고
예를 들어 fill이나 lable 같은 것만 변경 하고 싶을 때는 어떤식으로 처리를 해줘야 하는지 궁금 하여 질문 납김니다.
답변 1
0
이런 것에도 immer를 적용하시는 것을 추천드립니다. 배열 안 객체를 불변성있게 바꾸는 게 정말 복잡합니다.
setDataInfo((prev) => produce(prev, (draft) => {
return 변경된상태(불변성 필요x)
});
next 10 이상에서는 redux dev tool 구동이 안되나요?
0
272
1
세션 갱신 문의 건
0
482
7
배포 진행 후 Highlight updates components render 표시
0
445
1
똑같은 기능을 하는 테이블
0
447
4
관계형
0
312
2
프론트 서버를 이용하지 않는경우
1
299
3
인피니트 스크롤링 사용시 오류
0
278
0
계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.
0
433
2
req.user가 언제 생성되나요??
0
330
2
Cannot read property 'id' of null 에러
0
332
1
리트윗한 게시글 불러오는 sequelize
0
252
1
result.data에서 images인 이유
0
281
2
takeLatest에 대한 질문입니다.
1
342
2
프론트에서 express를 사용하지 않을때 동적라우팅
0
501
6
getInitialProps가 클라이언트에서 수행되는 이유?
0
258
1
리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.
0
445
2
스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다
0
585
2
할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)
0
365
1
nodejs mvc 패턴
0
975
4
사용하고 보니, 람다 구성이 궁금합니다!
0
266
1
제로초님
0
445
1
새로고침 로그인 풀림 문제.
0
247
1
안녕하세요. 강의 너무 감사합니다
0
157
1
제로초님
0
170
1





