inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

제로초님

130

김로인

작성한 질문수 62

0

제로초님 안녕 하세요 

불변성 관련 해서 궁금한게 있어서 질문 남깁니다.

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 같은 것만 변경 하고 싶을 때는 어떤식으로 처리를 해줘야 하는지 궁금 하여 질문 납김니다.

javascript react

답변 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