Reputation: 391
I am trying to get the path of my page on getServerSideProps
, but the type of params
is object
What I need to do to get as string?
export const getServerSideProps: GetServerSideProps = async (context) => {
const { slug } = context.params // Property 'slug' does not exist on type 'ParsedUrlQuery | undefined'.ts(2339)
return {
props: {
},
}
}
Upvotes: 3
Views: 6122
Reputation: 106
I think that you look for code that look like this
import { ParsedUrlQuery } from "querystring";
interface Params extends ParsedUrlQuery {
slug: string;
}
export const getServerSideProps: GetServerSideProps = async (context) => {
const { slug } = context.params as Params;
return {
props: {
},
}
}
Upvotes: 7
Reputation: 54
If you're looking for the path as a String, you can try context.req.url
. (See the docs for the full list of context
properties).
For the dynamic parameter, it depends on what you've named the page, for example if you have a Blog post page, with a pages/posts/[post].js
file, the slug will be in context.params.post
as opposed to context.params.slug
.
Hope this is helpful!
Upvotes: 1