/

如何解决“TypeError: Attempted to assign to readonly property”错误

如何解决“TypeError: Attempted to assign to readonly property”错误

在我的 Next.js 代码库中,我遇到了这个问题:

1
TypeError: Attempted to assign to readonly property

奇怪!经过一番调试,我找到了问题所在。它与 Next.js 无关,它可以发生在任何 JavaScript 代码库中。

在我的数据库中,有一列是以 JSON 的形式存储数据。

在我的代码中,我使用点语法(例如 data.name = 'Flavio')来更新这个 JSON 对象,但是我忘记在此之前调用 JSON.parse()。

data 不是一个对象,而是一个字符串!

在 JavaScript 中,字符串是不可变的。一旦定义,我们无法更新它们。因此会出现错误。解决方法很简单,就是在更新 JSON 对象之前调用 JSON.parse()

tags: [“Next.js”, “JavaScript”, “JSON”, “TypeError”]