gregrickaby / nextjs-wordpress

💀 It's headless WordPress!

Home Page:https://nextjswp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

type error in previews due to missing `seo` data, but SEO metabox has a default title set

montchr opened this issue · comments

On a freshly-provisioned local environment, I went to view the preview of the draft-status "Privacy Policy" page, but the preview failed in the client. This also happens when previewing any other page.

That's a surprise especially since the Yoast SEO fields show a default title template:

Screen Shot 2023-02-10 at 2 46 43 PM

nextjs-wordpress:dev: error - components/Article.tsx (55:19) @ seo
nextjs-wordpress:dev: error - TypeError: Cannot read properties of null (reading 'seo')
nextjs-wordpress:dev:     at Article (webpack-internal:///./components/Article.tsx:62:43)
nextjs-wordpress:dev:     at renderWithHooks (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderNode (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs-wordpress:dev:     at renderHostElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5642:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5952:5)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderNode (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs-wordpress:dev:     at renderChildrenArray (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderNode (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs-wordpress:dev:     at renderHostElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5642:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5952:5)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderForwardRef (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5859:5)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderForwardRef (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5859:5)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderContextProvider (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderContextProvider (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderContextConsumer (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5906:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6023:11) {
nextjs-wordpress:dev:   page: '/preview'
nextjs-wordpress:dev: }
nextjs-wordpress:dev:   53 |       <Head>
nextjs-wordpress:dev:   54 |         <title>
nextjs-wordpress:dev: > 55 |           {content.seo.title ? parse(content.seo.title) : `Next.js WordPress`}
nextjs-wordpress:dev:      |                   ^
nextjs-wordpress:dev:   56 |         </title>
nextjs-wordpress:dev:   57 |         {content.seo.metaDesc ? parse(content.seo.metaDesc) : null}
nextjs-wordpress:dev:   58 |         {content.seo.fullHead ? parse(content.seo.fullHead) : null}

It looks like the post status might change which part of the content.seo.title object path causes the type failure, but I'm not entirely sure if this is a coincidence.

In the error above (draft page):

Cannot read properties of null (reading 'seo')

In a slightly different error on a newly-published page:

TypeError: Cannot read properties of undefined (reading 'title')

Full error output for published page
nextjs-wordpress:dev: error - components/Article.tsx (55:23) @ title
nextjs-wordpress:dev: error - TypeError: Cannot read properties of undefined (reading 'title')
nextjs-wordpress:dev:     at Article (webpack-internal:///./components/Article.tsx:62:47)
nextjs-wordpress:dev:     at renderWithHooks (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderNode (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs-wordpress:dev:     at renderHostElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5642:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5952:5)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderNode (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs-wordpress:dev:     at renderChildrenArray (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6211:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6141:7)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderNode (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6259:12)
nextjs-wordpress:dev:     at renderHostElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5642:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5952:5)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderForwardRef (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5859:5)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderForwardRef (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5859:5)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderContextProvider (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderIndeterminateComponent (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderContextProvider (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5920:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6017:11)
nextjs-wordpress:dev:     at renderNodeDestructiveImpl (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
nextjs-wordpress:dev:     at renderNodeDestructive (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
nextjs-wordpress:dev:     at renderContextConsumer (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5906:3)
nextjs-wordpress:dev:     at renderElement (/Users/cdom/Developer/work/forks/gregrickaby/nextjs-wordpress/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6023:11) {
nextjs-wordpress:dev:   page: '/preview'
nextjs-wordpress:dev: }
nextjs-wordpress:dev:   53 |       <Head>
nextjs-wordpress:dev:   54 |         <title>
nextjs-wordpress:dev: > 55 |           {content.seo.title ? parse(content.seo.title) : `Next.js WordPress`}
nextjs-wordpress:dev:      |                       ^
nextjs-wordpress:dev:   56 |         </title>
nextjs-wordpress:dev:   57 |         {content.seo.metaDesc ? parse(content.seo.metaDesc) : null}
nextjs-wordpress:dev:   58 |         {content.seo.fullHead ? parse(content.seo.fullHead) : null}