У меня есть страница в приложении Next.js, в которой я пытаюсь получить данные через getInitialProps , которая прекрасно работает, когда я тестирую ее в режиме разработки, но не работает после развертывания в AWS. Я пытаюсь установить метатеги, чтобы я мог поделиться в социальных сетях для динамических страниц.
Я попытался установить метатеги через состояние, но он не работает, как если бы мы получили доступ к состоянию после монтирования компонента, и отладчик facebook не может найти мои метатеги. Я использую компонент класса, и код для getInitialProps выглядит следующим образом
static async getInitialProps({ query }) {
const resp = await axios.get('/product/fetchSingleProduct/' + query.pid)
console.log(query.pid)
const data = await resp.data
return { data }
}
Как я уже говорил, он работает в среде разработки, и я могу видеть console.log(query.pid)
на своем терминале. Но после развертывания я получаю сообщение об ошибке:
exception: {…}
kind: "ObjectId"
message: "Cast to ObjectId failed for value \"undefined\" at path \"_id\" for model \"Product\""
name: "CastError"
path: "_id"
stringValue: "\"undefined\""
value: "undefined"
Как показано ниже, файл package.json
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "next",
"start": "next start",
"build": "next build"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.17",
"@fortawesome/free-solid-svg-icons": "^5.8.1",
"@fortawesome/react-fontawesome": "^0.1.4",
"axios": "^0.18.0",
"draft-js": "^0.10.5",
"event-emitter": "^0.3.5",
"file-saver": "^2.0.2",
"isomorphic-unfetch": "^3.0.0",
"moment": "^2.24.0",
"next": "^7.0.3",
"nprogress": "^0.2.0",
"prop-types": "^15.7.2",
"react": "^16.8.6",
"react-countup": "^4.1.3",
"react-dom": "^16.8.6",
"react-facebook": "^8.0.4",
"react-google-login": "^5.0.4",
"react-image-magnify": "^2.7.4",
"react-modal": "^3.8.1",
"react-notifications": "^1.4.3",
"react-onclickoutside": "^6.8.0",
"react-quill": "^1.3.3",
"react-redux": "^6.0.1",
"redux": "^4.0.1",
"styled-components": "^4.2.0",
"styled-theming": "^2.2.0",
"underscore": "^1.9.1",
"url-loader": "^2.1.0",
"xml-js": "^1.6.11"
},
"devDependencies": {
"@zeit/next-css": "^1.0.1",
"babel-plugin-styled-components": "^1.10.0"
}
}
Буду признателен за любую помощь, спасибо и счастливого кодирования!