React-실험 : [Redux-Toolkit]-Error :serializableStateInvariantMiddleware.ts:234 A non-serializable value was detected in an action, in the path: `payload.name`. Value:

최문길·2023년 12월 14일
0

react

목록 보기
7/14

이러한 알람이 콘솔창에 뜨면 redux 공식홈페이지 가서 확인하라는 링크가 있는데 아래의 내용이 담겨져있다.
Strings are serializable and easily self-descriptive, and so are a better choice. Note that it is okay to use Symbols, Promises, or other non-serializable values in an action if the action is intended for use by middleware

간단히 설명하면 문자열로만 구성하세요, 아니면 midleware로 이 issue를 해결하라는 의미인데.. 조금더 풀어서 설명하자면

오류의 내용은 Redux에서 값을 주고 받을 때 object 형태의 값을 string 형태로 변환 하는데, 변환 불가능한 값을 전달했다는 에러이다.

좀더 어려운 용어로 action의 직렬화가 불가능한 값을 전달 했다는 뜻이다.

.
.
.
.

직렬화란 redux에서 값을 주고 받을 때,
object 형태의 값을 string으로 (JSON.stringfy) 변환하는것을 말합니다.

즉 다시 말하자면 action.payload의 값을 제대로 stringfy 할 수 있는 값만 줘라 이 말씀..

따라서 위 사진에서 textareaaction.payload 로 보내지말고 textarea의 value 즉 string으로 값을 전달해주면 된다.

아니면 midleware를 통해서 controll 하면 되는데, 이제 곧 미들웨어를 배울테니 한번 미들웨어로도 해결해보자

0개의 댓글