今更ながらtypescript-fsaが地味に便利だなという話
3日ぶりのブログ更新です。
「ゆるふわ技術日誌」なのに、技術のことでもない日記をつらつらと書くのも、精神的に来るものがあるので、これからは更新頻度を落としても技術的なことを書くブログにしていきたい所存。
久々にReactやりたいな(というかやらないと、書き方忘れそうだな)と思ったので、小さなアプリを作り始めました。
React + TypeScriptのプロジェクトを作るのも、いつのまにか
$ create-react-app hoge --typescript
でできるようになってるし、すごい。
Reduxのアクションやreducderは、普通のJSで書くのであれば、そのままてきとうに書けばいいのだが、TypeScriptとなると、型を当ててあげないとダメですね。(ダメってことはないけど、それならJS使う)
その時に便利なのがtypescript-fsa。
Reduxの型定義ファイルにも、Actionの型とか定義されてるけど、どうもいまいちなので、その辺をよしなにしてくれる。
import { Action } from "redux"; import actionCreatorFactory, { isType } from 'typescript-fsa'; const actionCreator = actionCreatorFactory('common'); export const signedIn = actionCreator<{ uid: string }>('SIGNED_IN'); interface StateType { uid: string | null; } const defaultState: StateType = { uid: null }; export default (state: StateType = defaultState, action: Action) => { if (isType(action, signedIn)) { return { ...state, uid: action.payload.uid }; } return state; };
こんな感じ。
なんかもっと語るつもりだったけど面倒になってしまった。
■
なんだかぼけっと過ごしてしまった……
大変よろしくない…。
ほんとに書くことがないよ
スライドを作る
今日は卒論発表の練習をしていました。
作ったスライドは、8割くらいOKで、残りの2割は要修正といった感じで、自分で作ったにしては、上出来なのではないかなと思った。
卒論発表もLTも、気をつけるべきポイントは似てて、
- スライドにつらつらと文章を書きすぎない
- 図を使って視覚的に伝わるように
- 論点をブレさせない、飛躍させない
と、こんな感じかなと思った。
特に僕は、話の内容を急に飛ばしてしまうクセがあるようなので、その点には気をつけつつやっていきたい。
卒論関連も、本当にそろそろ終わりなので、コード書くなり、設計について学ぶなり、何をやるか決めて、社会人になるまでの2ヶ月を有意義に使っていかねば!と決意したりした。
React NativeでTypeScriptを使う2019
React Native使ってなんか作りたいな〜と思って、作るならTypeScript一択だなぁ〜と思って、そういえば2017年夏にインターンでRN触ってた時はTSにするの地味に面倒だったような〜と思って、でもそれから1年以上経ったし、なんかもっとスマートになってるんじゃないなかぁなんて思って調べたら、やっぱりいい感じになっていた。
本当は、最近ちゃんとしたブログ書いてないし、ここに書いてやっぞ!と思っていたのですが、思いの外お役立ち情報な気がしたので、Qiitaに投稿することにした。
こちら。
ポイントとしては、
react-native init MyProj --template typescript
をやればTypeScriptが使える- tscを使ってコンパイルしているわけではないので、型がおかしくても実行できちゃう。型チェックはtscで!
という感じ。
お勉強になりましたね。