I was getting the below error while using the react-helmet to dynamically change the head section - meta tags, title etc, also the pages were not loading.
scheduler.development.js:171 Uncaught TypeError: Cannot read properties of undefined (reading 'add')
at e.r.init (Dispatcher.js:53:1)
at e.r.render (Dispatcher.js:67:1)
at finishClassComponent (react-dom.development.js:17485:1)
at updateClassComponent (react-dom.development.js:17435:1)
at beginWork (react-dom.development.js:19073:1)
at HTMLUnknownElement.callCallback (react-dom.development.js:3945:1)
at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:1)
at invokeGuardedCallback (react-dom.development.js:4056:1)
at beginWork$1 (react-dom.development.js:23964:1)
at performUnitOfWork (react-dom.development.js:22776:1)
at workLoopSync (react-dom.development.js:22707:1)
at renderRootSync (react-dom.development.js:22670:1)
at performSyncWorkOnRoot (react-dom.development.js:22293:1)
at react-dom.development.js:11327:1
at unstable_runWithPriority (scheduler.development.js:468:1)
at runWithPriority$1 (react-dom.development.js:11276:1)
at flushSyncCallbackQueueImpl (react-dom.development.js:11322:1)
at workLoop (scheduler.development.js:417:1)
at flushWork (scheduler.development.js:390:1)
at MessagePort.performWorkUntilDeadline (scheduler.development.js:157:1)
To fix the issue
Replaced react-helmet with react-helmet-async
npm install react-helmet-async or yarn add react-helmet-async
Wrap the App element with HelmetProvider
import { HelmetProvider } from 'react-helmet-async';
ReactDOM.render(
<React.StrictMode>
<HelmetProvider>
<App />
</HelmetProvider>
</React.StrictMode>,
document.getElementById('root')
);
Now the helmet can be used in individual components to change the dynamic header elements
import { Helmet } from 'react-helmet';
import { Test } from './components';
const Test = () => {
return (
<React.Fragment>
<Helmet>
<title>Test</title>
<meta name="description" content="Test Description" />
<meta property="og:title" content="Test"/>
<meta property="og:description" content="Test" />
</Helmet>
<Introduction />
<Details />
<BackToTop />
</React.Fragment>
);
};
export default Test;
No comments:
Post a Comment