next.js 从Marketplace合同中获取nfts时出错

b09cbbtk  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(101)

未处理的运行时错误

TypeError:contract?.getAddress不是函数

调用栈

使用ActiveListings

webpack-internal:/./node_modules/@thirdweb-dev/react-core/dist/useTransactions-07d3933d.browser.esm.js(3764:37)
我正在使用Next.js框架来开发我的Web应用程序,我正在YouTube上学习教程。不幸的是,我在尝试复制视频中显示的步骤时遇到了一个错误(上面提到的)。
App.jsx

import { ThirdwebProvider, ChainId } from "@thirdweb-dev/react";
import "../styles/globals.css";
const chainId = ChainId.Mumbai;
function MyApp({ Component, pageProps }) {
  return (
    <ThirdwebProvider
      activeChain={chainId}
      clientId={process.env.NEXT_PUBLIC_TEMPLATE_CLIENT_ID}
    >
      <Component {...pageProps} />
    </ThirdwebProvider>
  );
}

export default MyApp;

字符串
index.jsx

"use-client";

import {
  ConnectWallet,
  useActiveListings,
  useContract,
} from "@thirdweb-dev/react";
import styles from "../styles/Home.module.css";

export default function Home() {
  const contract = useContract(
    "0x74f9073F15D0aa5A9dCF3396df4230f7E453DEaa",
    "marketplace-v3"
  );

  console.log(contract);

  const { data, isLoading } = useActiveListings(contract);
  // console.log(data);

  return (
    <main className={styles.main}>
      <h1 className={styles.title}>Welcome to Thirdweb!</h1>
      <ConnectWallet />
    </main>
  );
}


e错误快照

rxztt3cl

rxztt3cl1#

有一个类似的问题,但我认为web 3升级到marketplace-v3,现在当你创建一个市场,你得到的marketplace-v3比默认
要查询这个,请尝试使用usevaliddirectlistings(contract)钩子而不是useActiveListings(contract)
更多信息可以在这里找到
https://portal.thirdweb.com/react/react.usevaliddirectlistings

相关问题