“使用客户端”中的NextJs元数据

问题描述 投票:0回答:1

所以问题是我有一个产品页面,我在其中从后端(即使用 API 从数据库)获取该特定产品页面的元数据。我必须使用自定义挂钩从该 API 获取数据,现在的问题是我无法使用“使用客户端”指令中的元数据。

我无法分享我的整个代码,因为它有 500 多行,所以这里是我正在尝试做的事情!

"use client"
import React from "react";
import useGetData from "./useGetData";

const Page = () => {
   const { data } = useGetData();
   return (
      <div>
      Some use of {data}
      </div>
   );
}

export default Page;

const GenerateMetaDataTags = () => {
  const { propId } = useParams();
  const { data, loading, error } = useGetData(propId);
  const metaData = {};

  data.forEach((ele) => {
    metaData[ele.name] = ele.content;
  });

  if (!loading) {
    return metaData;
  }
};

export const metadata = GenerateMetaDataTags();

我希望从数据库获取后在客户端更新此数据。

我尝试了很多不同的方法,例如使用layout.js等,但我必须使用钩子从数据库获取数据,并且钩子总是需要“使用客户端”;

javascript next.js metadata next.js14
1个回答
0
投票

正如文档所说,您无法在客户端组件中生成元数据。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.