Redux-Toolkitでデータをstateにいれておくときに、firebaseのtimestampフォーマットをそのままいれると”A non-serializable value was detected in the state”のようなエラーがでます。これはTimestampのクラスがそのままでは登録できないためです。
そももそデータをオブジェクトに変換して取り扱えばOKですが、イージーに回避する方法としては、以下を参考にstoreにmiddlewareを追加することです。
configureStore({
//...
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: ['your/action/type'],
},
}),
})
問題のあるActionを指定すればOKです。エラー画面に
”Take a look at the reducer(s) handling this action type: XXXX.”
のようにでているとおもいますのでこのXXXXの部分を上記のignoredActionsに指定すればOKです。
なお、以下のブログで紹介されているような、すべてのチェックをオフにするのはおすすめされていません。
middleware: getDefaultMiddleware =>
getDefaultMiddleware({
serializableCheck: false,
}),