Simplify your stack and build anything. Or everything.
Build tomorrow’s web with a modern solution you truly own.
Code-based nature means you can build on top of it to power anything.
It’s time to take back your content infrastructure.

Uncaught TypeError: Cannot read properties of undefined (reading 'plural')

default discord avatar
nlvogellast year

I'm getting this error out of nowhere (it worked 12 hours ago). When I go to my pages collection (src> collections > Pages > index.ts) in the admin UI, I get a blank screen with no printed output in the terminal. I checked the browser console and this is what I get:


Uncaught TypeError: Cannot read properties of undefined (reading 'plural')
    at BlocksCell (index.js:13:22)
    at renderWithHooks (react-dom.development.js:16305:1)
    at mountIndeterminateComponent (react-dom.development.js:20074:1)
    at beginWork (react-dom.development.js:21587:1)
    at HTMLUnknownElement.callCallback (react-dom.development.js:4164:1)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:4213:1)
    at invokeGuardedCallback (react-dom.development.js:4277:1)
    at beginWork$1 (react-dom.development.js:27451:1)
    at performUnitOfWork (react-dom.development.js:26560:1)
    at workLoopSync (react-dom.development.js:26466:1)

- I hit the limit of the message here, so more information in the post



Here's the rest of the error: and

The above error occurred in the <BlocksCell> component:

    at BlocksCell (http://localhost:3000/admin/main.js:121860:23)
    at span
    at DefaultCell (http://localhost:3000/admin/main.js:122263:13)
    at RenderCustomComponent (http://localhost:3000/admin/main.js:118297:13)
    at Cell (http://localhost:3000/admin/main.js:122298:13)
    at td
    at tr
    at tbody
    at table
    at div
    at Table (http://localhost:3000/admin/main.js:104560:18)
    at RelationshipProvider (http://localhost:3000/admin/main.js:122482:33)
    at div
    at http://localhost:3000/admin/main.js:101660:13
    at SelectionProvider (http://localhost:3000/admin/main.js:122689:30)
    at div
    at DefaultList (http://localhost:3000/admin/main.js:122377:13)
    at RenderCustomComponent (http://localhost:3000/admin/main.js:118297:13)
    at TableColumnsProvider (http://localhost:3000/admin/main.js:104819:33)
    at ListView (http://localhost:3000/admin/main.js:122902:13)
    at Route (http://localhost:3000/admin/main.js:164927:29)
    at Switch (http://localhost:3000/admin/main.js:165129:29)
    at div
    at div
    at Default (http://localhost:3000/admin/main.js:117072:20)
    at Route (http://localhost:3000/admin/main.js:164927:29)
    at Switch (http://localhost:3000/admin/main.js:165129:29)
    at Route (http://localhost:3000/admin/main.js:164927:29)
    at Suspense
    at Routes (http://localhost:3000/admin/main.js:99033:64)
    at CustomProvider 


(http://localhost:3000/admin/main.js:117481:27)
    at LoadingOverlayProvider (http://localhost:3000/admin/main.js:117909:35)
    at StepNavProvider (http://localhost:3000/admin/main.js:104506:28)
    at LocaleProvider (http://localhost:3000/admin/main.js:118041:27)
    at SearchParamsProvider (http://localhost:3000/admin/main.js:118348:33)
    at ThemeProvider (http://localhost:3000/admin/main.js:118413:26)
    at PreferencesProvider (http://localhost:3000/admin/main.js:118232:32)
    at AuthProvider (http://localhost:3000/admin/main.js:117167:25)
    at ModalProvider (http://localhost:3000/admin/main.js:7857:29)
    at Router (http://localhost:3000/admin/main.js:164546:30)
    at BrowserRouter (http://localhost:3000/admin/main.js:163651:35)
    at ScrollInfoProvider (http://localhost:3000/admin/main.js:8553:26)
    at WindowInfoProvider (http://localhost:3000/admin/main.js:8830:29)
    at ConfigProvider (http://localhost:3000/admin/main.js:117434:27)
    at Root

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.


I just see a blank screen:



I have a few groups that are using

labels

with

singular

and

plural

but removing those didn't help.

index.ts

does not have any

labels

in itself, outside of referencing it from

groups

blocks

.



Not sure what changed, but this just works again. I did some refactoring while I was waiting for a response, and I guess the clean up got rid of the problem 🤷🏼‍♂️

    Star on GitHub

    Star

    Chat on Discord

    Discord

    online

    Can't find what you're looking for?

    Get dedicated engineering support directly from the Payload team.