我有一个使用 Prismic API 作为内容源的使用 SSR 创建下一个应用程序的应用程序。我正在尝试创建动态路线并遇到一堵砖墙。单例路线很好,但尝试动态创建路线我似乎无法弄清楚。
我等待接收道具的组件
class AboutPage extends React.Component {
static async getInitialProps(context) {
const { slug } = context.query;
const response = await getAboutPage(slug);
return {
doc: response,
slices: response.results[0].data.body,
data: response.results[0].data,
};
}
我尝试根据 UID 获取页面数据的查询:
const getAboutPage = slug => {
try {
const API = Prismic.api(PRISMIC_API_URL);
const response = API.query([
Prismic.Predicates.at('document.tags', [SOURCE]),
Prismic.Predicates.at('my.about_page.uid', slug),
]);
return response;
} catch (error) {
return error;
}
};
我的 Prismic Link Resolver,但不确定这是否相关
function linkResolver(doc) {
if (doc.type === 'home_page') return `/`;
if (doc.type === 'pricing_page') return `/pricing`;
if (doc.type === 'service_page') return `/services/${doc.uid}`;
if (doc.type === 'about_page') return `/${doc.uid}`;
if (doc.type === 'resource_page') return `/resources/${doc.uid}`;
return '/';
}