ハッカソンで得たTips
本当に並べるだけ
ほぼスクラップの扱いです
技術構成: React Vite MapBox
ViteはNodeライブラリを標準で使えない
fs
モジュールをDockerのSecretsの導入後に試したところうまく行かなかったのでドキュメントを読みに行ったらNode標準のライブラリの使用を禁止しているらしい
機密変数などを渡す場合の標準はVITE_
プレフィクスの変数を.env
に宣言してimport meta.env.VITE_<hoge>
Hooksはコンポーネントの最上位スコープでしか宣言できない->コンポーネントを切り出して適切に宣言しよう
MapboxGLのMaker機能を描画時に取得できる情報をもとに動的生成しようとしたときに、map
式の中にuseRef
を宣言した。
この場合、Hooksはコンポーネントの最上位でしか宣言できないというものに反する。
というか、だいたいこういう場合別にコンポーネント切り出しで対応できる。
useEffect
非同期関数とあやふやな理解だったので
(useEffect
の適切な使用タイミングかはちゃんとわかっていないので一旦横に置きつつ)
APIの取得にfetch
を使う→非同期関数
useEffect内で使う場合には一旦async
関数でラップしてから呼び出す
JavaScriptの言語機能......というかブラウザの機能?
ここはまだ正直怪しい
localStorage
やnavigator
などを調べるタイミングがあったが、おもったよりJavaScriptの言語機能とブラウザで利用できるAPIが多いようで
import hoge
みたいなので利用するわけではなく最初から使えるっぽい
git cherry-pick
特定のコミットを持ってくることができるのは知ってた
コミットの差分のみを引っ張ってくる(ログにコミットを含めない)場合は-n
を使う
git reflog
による操作の巻き戻し
最終日発表3時間前くらいに基幹機能への大規模なコミットを間違った操作(具体的にはgit reset --hard
でふっとばした 純粋に馬鹿)をした結果一気に失った。
「git reflog
でどうにかなる」といっていた噴水での一幕を思い出し調べてみたところ、基本的な操作履歴は残っており、git reflog
単体でgit log
のように操作履歴を見ることができる。
今回消したいのは直近1回の「git reset --hard
」 で、reflog上にはHEAD@{1}
として記録されているので、git reset --hard HEAD@{1}
する。 助かった......
Object.values()
でキーは消える
すごい当たり前のことかもしれないけど、これで無いキーのデータを延々と探していた。だめ
array.flat()
で一次元配列に変換
DeveloperモードのReact拡張は便利
デバッグ時にComponentsタブでレンダリングされているコンポーネントをみる事ができる。
コンポーネントの持つデータ(stateとか)も見ることができるので、そうしたデータはプリントデバッグしなくていい 便利~
個人的にJavaScriptにもっと触れることができたハッカソンになりました。
思いつく得たTipsとして重要なものはこのあたりです。またわたしが忘れたときにこの記事を見に来るでしょう。でかした今日の私。
Discussion