Next.js

【Next.js】nowコマンドでAPIキーなどの環境変数を設定する

Next.jsでデプロイ前に環境変数を設定する際には以下のコマンドを用いることができます。 now secret add で環境変数を追加 $ now secrets add <secret-name> <secret-value> 以下は一例です。 $ now secret add FIREBASE_API_KEY xxxxxxxxxxxx > Success! Secret firebase_api_key adde</secret-value></secret-name>…

【Next.js】FirebaseでStripeの単発決済の実装

以前まとめたこちらの記事の続きとなります。nekorokkekun.hatenablog.com nekorokkekun.hatenablog.com以前の段階で、StripeとFirestoreとFirebase Authenticationのユーザーを同時に作成することができました。こちらの記事では、Next.js上にFirebaseでStr…

【Next.js】StripeとFirestoreとFirebase Authenticationのユーザー同時削除

以前まとめたこちらの記事の続きとなります。 nekorokkekun.hatenablog.com以前の段階で、StripeとFirestoreとFirebase Authenticationのユーザーを同時に作成することができました。こちらの記事では、タイトルの通り、StripeとFirestoreとFirebase Authent…

【React】関数コンポーネントにcomponentDidMount的なものを使いたい

Next.js(React)の関数コンポーネントにライフサイクルフックであるcomponentDidMount的な役割を持つ何かを実装したいときには、 useEffect(() => { ... } , []); が使えます。以下は一例です。 import { db } from '../lib/db'; import React, { useEffect…

【React】react-stripe-elementでフォームだけが表示されない

Next.js(React)でreact-stripe-elementを実装した際に、フォームだけが表示されないという現象が起こりました。これは、Headタグ内で読み込んでいるstripe-jsのバージョンが不適合であったということでした。 <script src="https://js.stripe.com/v3/"></script> を実装しなければならないところ <script src="https://js.stripe.com/v2/"></script> を実装して…

【Next.js】Invariant Violation: React.Children.only expected to〜が吐き出される

こんなエラーが出た場合、 Invariant Violation: React.Children.only expected to receive a single React element child. 意味としては、「Reactのコンポーネントは、1つしかエレメントを内包できません」という意味となります。 return ( <StripeProvider stripe={this.state.stripe}> <Head> <script src="https://js.stripe.com/v2/"></script> </Head> <Header /> <div> <h2>{det…</h2></div></header></stripeprovider>

【Next.js】StripeとFirebaseにユーザー&クレカ登録同期処理ハンズオン

Next.jsで決済処理を実装したいという場合、FirebaseとStripeへ同時にユーザー登録をしたいという場合があるはずです。(厳密には、Stripeは顧客登録)今回はStripeとFirebase Authenticationへのユーザー登録を同期させ、その後、クレジットカードを登録す…

【Next.js】Head内に要素を組み込む(外部スクリプトとか)

Next.jsでHead内にCSSや外部script、titleタグなどを組み込みたかったので調べてみました。 結論としては、 import Head from 'next/head' をインポートし、render関数内などに、 <Head> <script src="https://js.stripe.com/v2/"></script> </Head> こんな感じでHeadタグを作って、組み込みたい要素を入れてあげるだけでOK…

【Firebase Functions】functions@: The engine "node" is incompatible with this module. Expected version "8". Got "10.16.3"エラーが吐き出される

Next.js内でFirebase Functionsを使用するためにyarn serveを行うと以下のようなエラーが。 error functions@: The engine "node" is incompatible with this module. Expected version "8". Got "10.16.3" error Commands cannot run with an incompatible …

【Next.js】FirebaseのAuthenticationで登録したユーザー情報を描画する

前回の記事では、Next.jsにFirebaseのAuthenticationを使ってユーザー登録機能を追加しました。 nekorokkekun.hatenablog.comそこで「登録したユーザーの情報を動的に描画するマイページ」を作りましょう。 前提 ユーザー情報の取得 firebase.auth().current…

【Next.js】Firestoreから任意のデータを取得して描画する

今回はNext.jsでFirebaseから任意のデータを取得して描画する方法について解説をしていきます。ウェブアプリを作成する際、レイアウトは決めておいてコンテンツの名前や説明文などはデータを取得してレイアウトにはめ込みたい、という場合がありますね。この…

【Next.js】Firebase AuthenticationとHOCを使用してサインイン機能を実装する

本記事では、Next.jsプロジェクトにFirebase Authenticationを組み込み、サインイン機能を実装するとともに、HOC(高階コンポーネント)を使用してサインインユーザーのみが閲覧できるページを作成していきます。 Next.jsプロジェクトの準備 サインインユー…

【Next.js】Firestoreのデータを削除する

今回はNext.jsからFirebase Cloud Firestoreのデータを削除する方法について解説していきます。 コードの全体像 一意のidを取得する 削除イベントの作成 以下の記事を前提にしています。 nekorokkekun.hatenablog.com nekorokkekun.hatenablog.com コードの…

【Next.js】Firestoreにデータの登録(挿入)をする

こちらでは、Next.jsで作成した投稿フォームからFirebaseのCloud FirestoreのDBへデータを登録(インサート)する方法について解説をしていきます。DB設定などについては以下の記事に詳しく記述してあります。 nekorokkekun.hatenablog.com FirestoreのDBに…

【Next.js】Cloud Firestoreへの接続方法まとめ

Next.jsからCloud Firestoreへの接続をするための方法をまとめておきます。 まずやること .env作成 dotenvのインストール next.config.js作成 lib/db.js作成 具体的な使用例 まずやること 忘れがちなDB設定でやるべきことをまとめておきます。 .env作成 dote…

【Next.js】Cloud Firestoreに格納されたデータから一意のIDを取得する

Cloud Firestoreに格納されたデータから一意のIDを取得したいという時の方法を解説します。以下の赤枠の部分ですね! すでにFirebaseのDBと接続できているという前提で、以下のような書き方をすれば取得可能です。pages/Posts.js // 上記省略 handleDelete =…

【Next.js】Cloud FirestoreをNext.jsに組み込みデータ取得

こちらではNext.jsのプロジェクトにFirebaseのCloud Firestoreを組み込む方法について解説をしていきます。 Firebaseでプロジェクトの作成〜コレクションの作成 Next.js側の設定 Firebaseでプロジェクトの作成〜コレクションの作成 Firebaseにアクセスし、Co…

【Next.js】GCPのデータベースをNext.jsプロジェクトに組み込みたい

こちらではGCP(Google Cloud Platform)をNext.jsのプロジェクトに組み込む方法を解説していきます。 Next.jsプロジェクトの立ち上げ GCPでデータベースの作成 GCPシェルからデータベースの作成 データベース、テーブルの作成 Next.jsプロジェクトにMySQLを…

HanzOnサポートページ

シンプルかつ機能的なメモアプリを作成しました。 直感的に操作することが可能で、思いついたことをすぐに記録することができます。現在iPhone、iPadに対応しています。iPhone上の画面iPad上の画面 今後、デザイン、機能面での充実を予定しています。

【Next.js】Next.jsにMaterial-UIを組み込み、ボタン表示をするまで

Next.jsにMaterial-UIを組み込み、ボタン表示をするのがとても簡単だったので備忘録として残します。 $ npm install @material-ui/core $ npm run dev import Button from '@material-ui/core/Button'; const Index = () => ( <Button variant="contained" color="primary"> Hello World </Button> ); export defau…

【Next.js】Next.jsのプロジェクトにMaterialize.cssを組み込みたい

Next.jsのプロジェクトにMaterialize.cssを組み込みたい場合は以下のような設定に。Next.jsの設定は以下の記事にて解説しています。 nekorokkekun.hatenablog.com import React from 'react'; import Link from 'next/link'; import Head from 'next/head'; …

【Next.js】Next.jsで<head>タグを設定する簡単な方法

Next.jsでタグを設定する簡単な方法は以下の通りです。 import Link from 'next/link'; ★ class Header extends React.Component { render() { return ( <React.Fragment> <Head> ★ <title key="title">タイトル</title> </Head> ★ </React.Fragment> ) } } export default Header;

【Next.js入門⑧】next-routerを使ってクエリパラメータを受け取る

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 server.jの作成 next-route…

【Next.js入門⑦】withRouterで動的なページを作成する

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 目標の確認 非同期通信で読…

【Next.js入門⑥】2通りの方法でスタイリングを適用する

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 スタイリングを行おう SCSS…

【Next.js入門⑤】propsで他のCompoentに値を受け渡す(レイアウト作成)

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 propsの基本的な使い方 pro…

【Next.js入門④】Componentを他のComponentとシェアする

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 シェアするComponentを作成…

【Next.js入門③】next/linkでSPA構成にしてみる

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 Index.jsをSPA構成にしてみ…

【Next.js入門②】Next.jsでComponentを使ってみる

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 Componentを使ってみる 各…

【Next.js入門①】Next.jsで'Hello Next.js'までの流れ

こちらの連載記事では、Next.jsの入門チュートリアルを紹介しながら、最終的にポートフォリオファイルの完成を目指します。筆者もNext.jsビギナーなので、同じくNext.jsに触れるのが初めてだという方を対象に書き進めていきます。 前提 Next.jsプロジェクト…