我正在閱讀 David Lorenz 的書《使用 Supabase 建立生產級 Web 應用程式》(附屬連結),並且剛完成第 3 章 – 建立票證管理頁面...。我遇到了一些問題,我想分享一下這些問題以及我是如何解決這些問題的。
部分:使用 Next.js 設定 Pico.css
您可以忽略 pageProps.children 並將其保留為子項。
部分:建立登入表單
我真的應該將 app/page.js 編輯為 LoginPage 嗎?
儘管洛倫茲明確指出:
因此,開啟 app/page.js 並更改 Page 元件,使其暫時只回傳 Login 元件...
下次遇到編輯LoginPage的指令時,我還是得自己去找。我希望我們創建一個新頁面而不是使用現有的 page.js,但是不行,請清除 page.js 中的所有內容並僅貼上書中給出的 LoginPage 程式碼。
錯誤:應該等待 searchParams
使用切換邏輯(用於開啟/關閉密碼欄位)更新 app/Login.js 後,我們開始看到此錯誤:
Error: Route "/" used `searchParams.magicLink`. `searchParams` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at LoginPage (src/app/page.js:3:38) 1 | import { Login } from "./Login"; 2 | export default function LoginPage({ searchParams }) { > 3 | const wantsMagicLink = searchParams.magicLink === "yes"; | ^ 4 | return <login ispasswordlogin="{!wantsMagicLink}"></login>; 5 | }
為了解決這個問題,我們希望讓 app/page.js 中的 LoginPage 函數異步,如下所示:
import { Login } from "./Login"; export default async function LoginPage({ searchParams }) { const params = await searchParams; const wantsMagicLink = params.magicLink === "yes"; return <login ispasswordlogin="{!wantsMagicLink}"></login>; }
儲存使用者名稱和密碼
在書中,我們被指示更新 Login.js 中的程式碼,如下所示:
"use client"; import { useRef } from "react"; export const Login = () => { const emailInputRef = useRef(null); const passwordInputRef = useRef(null); return ( ... ) }
以防萬一這不是完全清楚,您的程式碼應如下所示:
"use client"; import { useRef } from "react"; import Link from "next/link"; export const Login = ({ isPasswordLogin }) => { const emailInputRef = useRef(null); const passwordInputRef = useRef(null); return( ... ) }
……我們不會改變任何事。本質上,從 return( 開始的所有內容都與以前完全相同。
我上面指出的“大事”是不應該從“next/link”中刪除 import Link;而是添加“使用客戶端”;以及在其之前的 useRef 導入。
附註:也許我們稍後會學習,但我發現在這裡使用 useRef 而不是 useState 有點奇怪,但話又說回來,我不是 Next.js 或 React 專家。
onSubmit 事件去哪裡了?
在 Login.js 中的 return( ... ) 中,取代目前的
以上是使用 Supabase 建立生產級 Web 應用程式 – 第 2 部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版
好用的JavaScript開發工具