Next.jsプロジェクトの公開手順

Next.jsで作ったアプリを公開、SSL対応、永続化するためのメモ。

nowじゃなくて普通に自前のLinuxサーバーに載せることを考えます。

気持ち的にはNext.jsプロジェクトの初期設定の続きです。

続きを読む Next.jsプロジェクトの公開手順

Next.jsプロジェクトの初期設定

next.jsはnowと合わせると秒単位でWEBアプリを公開できるような超速フレームワークですが、それなりの規模のものを作ろうと思うと色々設定が必要です。

大分慣れてきたので振り返りもかねてプロジェクト初期設定の備忘録。

プロジェクト作成からGit設定、各種コンフィグ類の設定、必須ライブラリの導入とカスタムページの用意まで。

続きを読む Next.jsプロジェクトの初期設定

Next.jsで外部ライブラリのスタイルシート適応

ReactでUIコンポーネントを使う時にMaterial-UIは一番有力な選択肢だと思います。

Next.jsでも同じように使いたいところですが、サーバーサイドレンダリング(SSR)時にcss modulesによるクラス名付与が合わなくなる問題が起きました。

index.js:1 Warning: Prop className did not match. Server: “MuiBox-root…

これによって一部スタイルが崩れてしまう。

devでの再コンパイルや内部遷移によって直ることもあるがproductionでも問題が起きるので使い物にならない状態なので対策します。

続きを読む Next.jsで外部ライブラリのスタイルシート適応

Next.jsのポート番号設定

Next.jsは基本ポート:3000で起動します。

これを定義1つで起動ポートから、プログラムからの参照(自身のAPIアクセスなどで)までするためのメモ。

続きを読む Next.jsのポート番号設定

【React】constructor内でContext APIを使用する

Next.jsを使っていてgetInitialProps()内でContext APIを使いたかったけど、Reactライフサイクル内にないため使えなかった。

じゃあpropsを経由してconstructor()内でコンテクストに入れようとしたら中身にアクセスできなかった。

componentDidMount()でも悪くはないけどrender()前に処理したいので、ドキュメントにない方法で使ってみます。

続きを読む 【React】constructor内でContext APIを使用する

Next.jsのライフサイクルと外部APIのタイミング

簡単にReactを使ったSSRができるNext.jsを使っていて外部APIをfetchするときに色々戸惑ったので覚書き。

公式ドキュメントが結構偏っているのと日本語情報も少ないのでわりと手探りでどうすればいいか考えていきます。

next 9.1.7 react 16.12.0

続きを読む Next.jsのライフサイクルと外部APIのタイミング

Reactのグローバル変数を管理する

Reactでグローバルに変数を使いたい機会ができた。

そういえば使い始めのころにNativeでグローバル変数の利用に右往左往してました。

今は大分慣れてきたので色々な方法を考えてみます。

続きを読む Reactのグローバル変数を管理する

Next.jsのファイル構成と共通ページ設定

React.jsのSSRをしたくてNext.jsを触ってみて少しずつ理解できて来たのでちょくちょく覚書きしていきます。今回は設計や共通ページなどの大枠。

リンク先でReadmeと公式ドキュメントを載せておきますが、内容は同じなので見やすいほうを見ればいいと思います。また、有志の日本語翻訳もありますが、最初にざっと読む用に向いている気がする。

react v16.12.0 next v9.1.4

続きを読む Next.jsのファイル構成と共通ページ設定

Next.jsでReactサーバーサイドレンダリング

React Nativeを触っていたらWebの方も触りたくなってきた。

これまでCreate React Appを使っていましたが、SSR(Server Side Rendering)したかったのでNext.jsを使ってみます。

キャッシュ設定もしたかったのでExpress併用も考えます。

続きを読む Next.jsでReactサーバーサイドレンダリング

React Nativeで複数画面の共通変数管理

ReactNativeで複数画面間の共通変数を扱うことを考える。

共通の定数ならグローバルで用意して読み込めばいいけど変数は少し厄介だった。

複数画面の管理はReact Navigation、設定保存などにはAsyncStorageを使う。

React Native 0.60 Expo v34 react-navigation 3.12.0

続きを読む React Nativeで複数画面の共通変数管理