← flaviocopes.com

How to solve the `TypeError: Attempted to assign to readonly property` error

Published May 12 2021

I was doing something in my Next.js codebase when I ran into this problem:

TypeError: Attempted to assign to readonly property

Weird! After a bit of debugging I found the problem. I has nothing to do with Next.js, it can happen in any JavaScript codebase.

I had a column in my database where I stored data as JSON.

In my code I was updating this JSON object, using the dot syntax (like data.name = 'Flavio') but I forgot to call JSON.parse() before doing so.

data was not an object, but a string!

Strings are immutable in JavaScript. We can’t update them once defined. Hence the error. The solution was to, obviously, call JSON.parse() before updating the JSON object.

Wanna go from noobie to expert?

I wrote an entire book on this topic πŸ‘‡

I also got a super cool course πŸ‘‡

© 2023 Flavio Copes Flavio Copes using Notion to Site Notion to Site. Follow on Twitter

Solopreneur? Wannabe? Adventure awaits