Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

303
Views
Cannot add property 0, object is not extensible when trying to push class-constructed objects indo an array list - React/NextJs

This is the code involved in that function, the goal is to create rows for rendering in a Material Ui table.

class User {
            constructor(id, name, email, measured, offset, paidAmount, status, home, misc, plane, transport, partner, isCoupon) {
                this.id = id
                this.name = name
                this.email = email
                this.measured = measured
                this.offset = offset
                this.paidAmount = paidAmount
                this.status = status
                this.home = home
                this.misc = misc
                this.plane = plane
                this.transport = transport
                this.partner = partner
                this.isCoupon = isCoupon
    
            }
        }
    
        const mountTableRows = () => {
            rawData.map((item, index) => {
                let user = {}
                user = new User(
                    item["ulid"],
                    item["Name"],
                    item["Email"],
                    item["Emissions"],
                    item["Quantity"],
                    item["Value"],
                    item["Status"],
                    item.Rawresult["home"],
                    item.Rawresult["misc"],
                    item.Rawresult["plane"],
                    item.Rawresult["transport"],
                    item["Partner"],
                    item["isCoupon"]
                )
                usersList.push(user)
            })
            setIsListMounted(true)
        }
    
        useEffect(() => {
            if (rawData.length > 0 && !isListMounted) {
                mountTableRows()
            }
        }, [rawData])

I've been getting this error:

Unhandled Runtime Error TypeError: Cannot add property 0, object is not extensible

Source pages\dashboard\dashboard.js (124:22) @ eval

>   122 |             item["isCoupon"]   123 |         )
> > 124 |         usersList.push(user)
>       |                  ^   125 |     })   126 |     setIsListMounted(true)   127 | } 

Call Stack mountTableRows

pages\dashboard\dashboard.js (107:16) eval pages\dashboard\dashboard.js (131:12)

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

I found the problem.

I was trying to push into an state without using the setState function

 usersList.push(user)

So i read my code again and noticed my stupidity haha To fix the issue i just replaced the code above with this one below

setUsersList(current=>[...current, user])
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!