How to solve the `TypeError: Attempted to assign to readonly property` error
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.
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025