我尝试使用以下语法通过router.push向Next.js中的[roomid] page (src/pages/editor/[roomid].tsx)
传递一些数据,但希望URL保持清晰,因为用户可以在URL中编辑他们的用户名。
在第一次加载时,router.query
持久化username
(在查询中传递)。但是重新加载后,username不存在。
JoinRoom.tsx:两个字段(用户名和roomid)。当按下提交时,用户被定向到/[roomid]:
router.push({
pathname: `/editor/${roomId}`,
query: { username: username, }
}, `/editor/${roomId}`,
字符串
然后在[roomid].tsx中:
const router = useRouter();
const { roomid, username } = router.query;
型
重装后username
出现undefined。
我试着在[roomid].tsx中使用以下内容,但没有运气,重新加载后用户名仍然不存在。
const [username, setUsername] = useState('');
useEffect(() => {
if (router.isReady) {
console.log(router.query);
setUsername(router.query.username as string);
}
}, [router.isReady]);
型
1条答案
按热度按时间isr3a4wc1#
这是我的解决方案。
字符串