Я использую API, который позволяет получать данные только с использованием id НО title следующим образом http://0.0.0.0:5000/blog/13b03a39-bc04-4604-baf6-059658f9f5e8
. Конечная точка возвращает объект JSON, который я хочу отобразить в браузере, используя Next Js. Однако я хочу иметь архитектуру чистого URL, которая содержит заголовок следующим образом :
вместо URL, содержащего следующий идентификатор:
Вот как я передаю props
Link
:
<Link
href={`/post/${post.blog_title}`}
as={`/post/${post.blog_title}`}>
<a className='blog__card--link'>
<h4 className='blog__card--title'>{post.blog_title}</h4>
</a>
</Link>
и вот мой [id].js
файл:
import { getBlog } from '../../api/index';
const Article = ({ blog }) => {
const router = useRouter();
return (
<div class='article'>
<div class='article__main'>
{/* {console.log(router)} */}
<ArticleView />
</div>
</div>
);
};
Article.getInitialProps = async (router) => {
const res = await getBlog(`${router.query.id}`);
const json = await res.json();
console.log(json);
return { blog: json };
};
export default Article;
Попытка получить доступ к ${router.query.id}
в getInitialProps
возвращает название, которое, как я понимаю, проходит через as prop in Link
.
Можно ли получить чистую структуру URL, но также использовать id
в getInitialProps
? и как я могу добиться этого с помощью динамических c ссылок в Next. js?