如果-否则在run中不能工作,但是在run中会工作,那么是否有人对此进行了修正。做这个工作的唯一方法是使用一个react钩子,但是我一点也不知道应该在哪里实现它。
import { useAddress } from "@thirdweb-dev/react";
import Head from 'next/head';
import Link from 'next/link';
import Username from '../components/Username';
import React from "react";
const Home = () => {
let p = new Promise((resolve, reject) => {
let address = useAddress();
if (address) {
resolve(address)
} else {
console.log('no addy')
reject()
}
})
p.then((address) => {
return (
<>
<Head>
<title>DRUMM3R</title>
<link rel="icon" href="/drum.svg" />
</Head>
<Username address={address} />
</>
);
}).catch(() => {
return (
<>
<Head>
<title>DRUMM3R</title>
<link rel="icon" href="/drum.svg" />
</Head>
<Link href="/">
<a className="absolute pt-1 text-xl font-semibold transform -translate-x-1/2 top-1/2 left-1/2">click here to log in</a>
</Link>
</>
);
})
}
export default Home;
发布于 2022-07-04 19:15:16
你为什么不试试这个解决方案:
import { useEffect, useState } from "react"
const Home = () => {
const [address, setAddress] = useState(null)
useEffect(() => {
const address = useAddress()
setAddress(address)
}, [])
if (address) {
return (
<>
<Head>
<title>DRUMM3R</title>
<link rel="icon" href="/drum.svg" />
</Head>
<Username address={address} />
</>
)
}
return (
<>
<Head>
<title>DRUMM3R</title>
<link rel="icon" href="/drum.svg" />
</Head>
<Link href="/">
<a
className="absolute pt-1 text-xl font-semibold transform -
translate-x-1/2 top-1/2 left-1/2"
>
click here to log in
</a>
</Link>
</>
)
}https://stackoverflow.com/questions/72861050
复制相似问题