なんとなくだけどこれくらいできるといいなーと思ったことをまとめていたらチェックリスト方式になったので公開。まだ項目として足りない部分があるけどそれは今後追加していけば良いかなと。
これ足りないよ〜とかありましたらコメントいただけますと嬉しいです。
前提
- Create React Appでプロジェクトを開始できる
- React公式のチュートリアルを完了している
初級者
- Stateの更新・propsの使用ができる
- 配列を使って要素の描画ができる
- formを使ってpostすることができる
- ライフサイクルメソッドを使うことができる
- UIライブラリを使ってスタイルを付けられる
簡単なビューであれば作成・修正ができるレベル
- lintの設定ができる
- Formaterの設定ができる
- react-routerを使いページ遷移をさせることができる。
- 配列内のkeyの意味がわかる。また、keyにどんな値を入れるのが適切なのか述べることができる
- 余計なdivタグを書かずにマークアップできる(fragmentを使う)
- スタイルの適用ができる
基本的なビューであれば問題なく任せられるレベル
- classコンポーネントと関数コンポーネントの違い・メリット・デメリットがわかる
- TypeScriptを使って書くことができる
- TypeScriptで書くことのメリットを述べることができる
- Reduxが何をしているか理解している
- Reduxを使ってStateの更新をすることができる
- APIを使ってデータの取得・更新ができる。また、Storeに入れることができる。
- hooksを使ってコードを書くことができる
- ライフサイクルメソッドを理解して使うことができる。また、あまり使用しない方が良い理由を述べることができる
1人月として計算ができレビューも任せられるレベル
- テストコードを書くことができる
- メモリーリークに気をつけてコーディングできる
- ログイン・サインアップなどAuth周りの実装ができる
- Reduxのメリット・デメリットを述べることができる
- middlewareで処理をすることができる。また、そのメリットデメリットを述べられる
- ReactのComponentとは何か理解している
- 必要であればカスタムhooksを作ることができる
- Code-Splittingを使うことができる。また、そのメリットを述べることができる。
- レビューすることができる
0からのプロジェクトでも難なくこなせるレベル
- Componentの設計ができる
- エラーハンドリングを実装できる
- Reduxを使う基盤を設計することができる
- パフォーマンスの改善ができる
- そのプロジェクトでどの範囲のテストをする必要があるのか判断でき、指標を示すことができる