TypeScript

ReactでuseIdを使い一意な文字列を生成し汎用コンポーネントのid重複を防ぐ

はじめに

こんにちは WESEEK で yaml から css まで何でも書く haruhikonyan です。
フォームなどをコンポーネント化したときに同じページにそのコンポーネントを使うと id の重複に困ったりしませんか?
そんな時に React が公式で提供している useId という hook を使うと解決するかもしれません。
しかし利用においては注意点があるので具体例とともに紹介したいと思います。

続きを読む

TypeScriptのis演算子を使った自作型ガードを使う

はじめに

こんにちは WESEEK でわりと何でもやっている haruhikonyan です。
みなさん TypeScript 書いてますか?
フロントエンドはもちろん Node でサーバサイドを書いてもよし、さらに型安全!
そんな型安全な TypeScript をより強固に使いこなすための User-Defined Type Guards の一つである is 演算子を使った自作型ガードの紹介をします。

続きを読む

より良いTypeScript開発のために、strictBindCallApplyはtrueにしよう

strictBindCallApply ってなに?

  • tsconfig のオプションのひとつ
  • デフォルトでは false (厳密なチェックはしない) 設定になっています

strictBindCallApply: false のままだとどうなるの?

  • false のままだと、bind, call, apply を使う時に type safe でないコードになってしまいます

「type safe ではない」ってどういうこと?

type safe じゃないと何が困るの? type safe になると何が嬉しいの?

続きを読む

React&SWRでレンダリング時のチラつきを撲滅する3つのテクニック

ステータス 有用度 日時 備考
公開 ⭐⭐⭐ 2022/06/14
更新 ⭐⭐⭐ 2022/09/30 SWR 2.0 に関する追記

UI flickering はイケてない

WESEEK エンジニアの武井です。

みなさん、フロントエンドプログラミングやってますか?
今回のネタは「UI flickering」。React の初回レンダリングやステートを更新した際、こんな感じの挙動してないでしょうか。

react-ui-flickering-when-state-updated

出典: https://stackoverflow.com/questions/55032136/react-ui-flickering-when-state-updated

この一瞬今描画しているアイテム消えてパッと次のアイテムが出てくるまでの一瞬の間が見える現象、こちらが「UI flickering」です。

和製英語だと「UIフリッカー」とか言われる事もありますがあまり一般的ではなく、「カクつき」「チラつき」みたいな表現の方が馴染みがあるかもしれません。

UI flickering は、普通に React で Backend/DB からデータ取ってきて更新するコンポーネントを何も考えずに書くと大体起こってしまいます。UI/UX が壊滅的に悪くなるものではないのでプロダクト・実装箇所によっては許容されるかもしれませんが、イケてるかイケてないかで言えばやっぱりあんまりイケてない部類に入ります。

今回はそれを撲滅するための3つの Tips を紹介します。

続きを読む

TypescriptのEnum型の代わりにUnion型を使用する

この投稿は、弊社が提供するWESEEK TECH通信の一環です。
WESEEK TECH通信とは、WESEEKのエンジニアがキャッチアップした技術に関する情報を、techブログを通じて定期的に発信していくものです。

はじめに

こんにちは、システムエンジニアの かおり です。この記事では、TypeScriptで用いられる Enum型 とUnion型の基本的な使い方から、Enumを避けるべきと言われている理由、Union型を用いてEnumのように書く方法などを説明しています。

続きを読む