Frontend/React
[React] [Immer] "An immer producer returned a new value and modified its draft. Either return a new value or modify the draft." μλ¬ ν΄κ²°
_μ±νΈ_
2023. 5. 10. 15:12
728x90
λ°μν
π₯ λ°μν μλ¬
Uncaught Error: [Immer] An immer producer returned a new value and modified its draft. Either return a new value or modify the draft.
μλ¬λ₯Ό λ²μνμλ©΄ immer μ μμλ μλ‘μ΄ κ°μ 리ν΄νκ±°λ κΈ°μ‘΄ μνλ₯Ό μμ νκ±°λ λ μ€ νλλ§ ν΄μΌλλ€λ κ²μ΄λ€.
μμΈμ΄ λλ μ½λ λΆμ
immer λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ λΆλ³μ± μνμ νΈλ¦¬λ₯Ό μμ½κ² λ³κ²½νλ μ€ μμ κ°μ μλ¬κ° λ°μνλ€.
updatePerson((person) => person.mentors.push({ name, title }));
νμ΄ν ν¨μλ μ€κ΄νΈλ₯Ό μ¨μ£Όμ§ μμΌλ©΄ μλμΌλ‘ return ν€μλκ° λΆλλ€.
μ¦, μμ μ½λλ κΈ°μ‘΄ mentors λ°°μ΄μ μλ‘μ΄ κ°μ²΄λ₯Ό push νλ©΄μ return(λ°°μ΄μ κΈΈμ΄λ₯Ό λ°ν)μ κ°μ΄ νκΈ° λλ¬Έμ μλ¬κ° λ°μν κ²μ΄λ€.
π§― μλ¬ ν΄κ²° μ½λ
updatePerson((person) => {
person.mentors.push({ name, title });
});
μ€κ΄νΈλ‘ κ°μΈμ£Όλ©΄ κΉλνκ² μλ¬λ ν΄κ²°λλ€.