はじめに
Reactを学び始めてから、TODOアプリの開発が完了しました。
その際の気づきについて共有させていただきます。
使用技術
・React ・Chakra UI V2 ・Jest ・Firebase ・Supabase
知っていることとできることは違う。
インプットして知っていることと、できることは全く別物です。
実際にインプットしたことを活用し、また+αな実装にチャレンジすることでできない部分、理解していない部分が明確になります。私自身、基本の構文の理解も不十分な状態で開発をして、理解できていない記述部分の基本に返ることを行うことで構文の理解も深まりました。何でここは{}を使う必要があるのかなど、細かい部分まで疑問を持って調べることが大切だと思いました。
開発中、実装した回数も必要です。1回の実装だけでは忘れてしまいますし、自分で思っていたよりも浅い理解で終わっていることがあります。環境構築もそうですが、回数を多く経験することでしか得られない気づき、深い理解があります。
調べたコードのコピペはやらないように意識してみました。コピペすると、頭で考えることをサボる傾向があったためです。まずは手打ちすることで自然と考えながら入力することになり、理解できる部分と理解できていない部分が明確になりやすい印象がありました。手打ち終わったら、そのあと間違いがないようにするためコピペしました。
詰まったところは記録に残す
前回の開発でも痛感しましたが、詰まる時は自分がレベルアップするチャンスです。詰まるということは理解不十分なことが多く、より深く調べることで理解が深まり、知識・技術向上のきっかけになります。そして記録に残すことで自分の記憶にも定着しますし、また同じような個所でつまづいたときに一から調べることもしないで済みます。内容を共有することで、同じような個所で躓いた人の時間を確保することにもつながります。
Chakra UIのモーダル、useFormの便利さ
モーダル表示するのがこんなに楽になるとは思いませんでした。過去の開発ではJavascriptで作成したこともあり、とても手間な印象がありましたが、Chakra UIのドキュメントのコードを貼り付けるだけで表示できてしまったときは少し感動しました。
そして、react-hoo-formのuseFormでフォーム管理が簡単にできることにも感動しました。
見た目での分かりやすさ、ユーザー目線でのボタン配置も意識しました。使いにくいアプリはユーザー離れが顕著になってしまうので。
何かを成し遂げるためには何かを犠牲にしなければならない
これは何にでも言えることだと思いますが、時間は有限であり皆に平等に与えられているものです。人それぞれの環境によって、その時間をどれくらい使えるのかは様々ですが、無駄な行動や不要な行動を見直すことで今までよりも時間を作ることはできるはずです。また隙間時間の活用を意識するだけでも、今までの学習時間を増やすこともできるはずです。私も常に無駄な行動、効率的な行動をしていないか意識して過ごしています。家族の時間など、必要な時間は確保しつつ、自分の行動を見返すことで、何かを我慢(犠牲に)することで時間を確保し、成し遂げたいことに時間を使わない限り、理想のものを手に入れることはできないでしょう。
終わりに
これからも開発を通したアウトプットで、より理解を深めて、Reactのことを更に知りたい、もっと使えるようになりたいと思いました。
フロントエンド、バックエンドどちらの理解も深まった時に今までなんとなくしか理解できていなかった部分の、そういうことか!と思える瞬間を期待して、継続していきます。