私は David Lorenz の著書『Building Production-Grade Web Applications with Supabase』 (アフィリエイトリンク) に取り組んでおり、第 3 章 – チケット管理ページの作成…を終えたところです。いくつか問題が発生したので、その解決方法とともに共有したいと思います。
セクション: Next.js を使用した Pico.css のセットアップ
pageProps.children は無視して、子のままにすることができます。
セクション: ログインフォームの構築
本当に app/page.js を LoginPage として編集する必要がありますかSupabase を使用した本番グレードの Web アプリケーションの構築 – パート 2
ローレンツは次のように明確に述べていますが、
それでは、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( on からのすべては以前とまったく同じままです。
私が上で指摘している「重要なこと」は、「next/link」から import Link を削除すべきではないということです。代わりに「クライアントを使用」を追加します。そしてその前に useRef import があります。
補足: 後で学ぶことになるかもしれませんが、ここで useState の代わりに useRef を使用するのは少し奇妙に感じますが、繰り返しになりますが、私は Next.js や React の専門家ではありません。
onSubmit イベントはどこに行くのでしょうかSupabase を使用した本番グレードの Web アプリケーションの構築 – パート 2
Login.js の return( ... ) 内で、現在の
以上がSupabase を使用した本番グレードの Web アプリケーションの構築 – パート 2の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

マークアップと呼ばれる魅力的な新しいサイトが起動しました。キャッチフレーズ:Big Techがあなたを見ています。ビッグテクノロジーを見ています。 Upstatementからの素晴らしい仕事。

先日、JavaScriptでRSSフィードを解析することについて投稿しました。また、RSSのセットアップについて、Feedbinがその中心にある方法について話していることについても投稿しました。

Chris CoyierのWordPressのGutenbergエディターの実装に触発された、Sanity StudioのプレビューでカスタムCodepenブロックを作成する方法を学びます。

ライン、バー、パイチャートは、ダッシュボードのパンとバターであり、データ視覚化ツールキットの基本的なコンポーネントです。確かに、SVGを使用できます

私たちは常にWebをよりアクセスしやすくしたいと考えています。色のコントラストは単なる数学なので、SASSはデザイナーが見逃したかもしれないエッジケースをカバーするのに役立ちます。

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

少し前に、PHPのテンプレートについてJust Php(基本的にHeredoc構文)に投稿しました。私は文字通り、いくつかの超基本にその手法を文字通り使用しています

他の写真を表示するためにナビゲーションを使用して画像の大きなバージョンを開くWebページの画像をクリックしたことがありますか?


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
