Open5

React環境・他関連する環境の導入まとめ

ピン留めされたアイテム
AnriAnri

React環境導入

Vite+React+TypeScriptの環境を構築する。
Viteのコマンド1つで簡単に構築可能。

React+Viteで導入する

npmを利用

  • node.jsをインストール
  • npm create viteを実行→対話形式で設定する
    • ProjectNameを任意の名前でつける
    • Reactを選択
    • TypeScriptを選択

参考記事

公式

https://ja.react.dev/learn
https://ja.vitejs.dev/guide/

React環境構築

https://zenn.dev/takaya39/articles/207e3e393081d9

What is npm?

https://zenn.dev/antez/articles/a9d9d12178b7b2
https://qiita.com/shun198/items/06f50d2121bf51f0d33a

AnriAnri

ESLintとPrettierを導入する

VSCodeの拡張機能もあるが、基本はnpm installで導入し、コマンドから実行する。

ESLint, Prettierの目的

  • ESLint: 文法エラーを検知する。型や存在しないファイルなどのエラーを表示することで、記述の誤りに気づける。エラー・警告・無視の3通りでruleを設定できる。
  • Prettier: フォーマットの整形を行う。整形することで可読性をあげられる。チームで共通の設定にすることで開発上のフォーマットを統一できる。

ESLint, Prettierの導入

ESLintの導入

Viteで構築した場合、ESLintはすでに導入されている。
以下3点を確認し、ファイルが在ることとコマンド実行が成功すればOK。

  • package.jsonのdevDependencies "eslint": "^8.57.0",(バージョンは任意)の記載がある
  • .eslintrc.cjs(eslintの設定ファイル)がある
  • 実行コマンド:npm run lint

ない場合は以下記事を参考に導入するとよい。
https://qiita.com/mzmz__02/items/63f2624e00c02be2f942

Prettierの導入

デフォルトでは入っていない。設定ファイルは自作が必要。
以下記事を参考に導入していく。
https://zenn.dev/takaya39/articles/0a8a9fae99001f

VSCodeでPrettierを実行したい場合は、以下記事を参考に設定する。
https://zenn.dev/cordelia/articles/c5a8a68444e7d8

  • 実行コマンド:
    • npm run prettier(package.json設定時)
    • prettier . --write
  • ※MacOSなど、直接prettierコマンドを実行できない場合はパスを通す。
    • export PATH=$PATH:./node_modules/.bin

ESLint, Prettierの設定

ESLint rules設定

公式:https://eslint.org/docs/latest/rules/semi
ESLint セミコロン検知設定:https://gist.github.com/sigwyg/65b6733a72f317af72feca855fbb1343

Prettier ignores設定

公式:https://prettier.io/docs/en/ignore.html

参考記事

公式

https://eslint.org/
https://prettier.io/

入門

https://qiita.com/soarflat/items/06377f3b96964964a65d

その他:VSCode拡張機能を導入する

  • Auto Rename Tag:開始タグを編集後、閉じタグを自動変更
  • ES7+ React/Redux/React-Native:Reactのスニペットを使用可能
  • ESLint: JS,TSのコードエラー検出の他、フォーマット整形を行う
  • Prettier - Code formatter:コードの整形を行う

https://qiita.com/midiambear/items/f38686bd4d139e0cd46c
https://qiita.com/midiambear/items/bc0e137ed77153cb421c

AnriAnri

Storybookを導入する

npmで導入する

Storybookの目的

大きくは2つ

  • UIカタログとして作成したコンポーネントの表示を確認する。
    • どのコンポーネントがどんな描画をされるか?を一覧で確認できる。
  • コンポーネントの簡易的な動作テストを行う。
    • APIが未実装の場合でもデータを入れてテストを行える。

Storybookの導入方法

  • npm installでnpmパッケージをインストール
  • npm install storybookでstorybookをインストール
  • npx storybook initでstorybookの初期化設定
  • npx start storybookでstorybookを実行
  • localhost:6006に接続することでStorybookのページが表示される

参考記事

公式

https://storybook.js.org/docs/get-started

導入方法

https://zenn.dev/mikakane/articles/react_storybook

入門

https://zenn.dev/sum0/articles/9463d16d9d40e2
https://zenn.dev/fullyou/articles/853b77a3ce9144
https://reffect.co.jp/html/storybook
https://techtekt.persol-career.co.jp/entry/tech/20231223_01

AnriAnri

ChakraUIを導入する

ChakraUIの目的

  • UIコンポーネントライブラリとして活用する。「テキストエリアを作りたい」「アイコンのボタンを作りたい」など考えた時に、一から実装せずともChakra UIの提供するコンポーネントを呼び出すことで簡単に実装ができる。
  • 基本的には公式のcomponentsを参照しながら実装すればOK。

ChakraUIの導入方法

以下コマンドを実行
npm i @chakra-ui/react @emotion/react @emotion/styled framer-motion

参考記事

公式

https://v2.chakra-ui.com/getting-started

入門本

https://zenn.dev/terrierscript/books/2021-05-chakra-ui
https://zenn.dev/num/books/189e4e9ac5b6bd/viewer/176f4b

入門記事

https://reffect.co.jp/react/chakra-ui
https://zenn.dev/ryotarohada/articles/aa2ee0bad05e2a

AnriAnri

Jestを導入する

(単体テストについて調べる過程で、別スクラップへ切り出すかも)

Jestの目的

  • JavaScript向けの単体テストを行う

Jest導入方法

Jestをインストールする

  • npm install --dev jest @types/jest ts-jest
  • npm create jest@latest
    • override: yes
    • use TypeScript : yes
    • Choose thet test envioronment: node
    • to add coverage reports: yes
    • Which provider should be used: babel
    • Automatically clear: yes

参考記事

公式

https://jestjs.io/ja/docs/getting-started

入門

https://qiita.com/hogesuke_1/items/8da7b63ff1d420b4253f
https://qiita.com/yuta-katayama-23/items/cd0a6ddff909b21b3b40