useStateでの型定義
tl;dr
flowでuseStateで定義したstateに型をつけるにはこう書けばOKです
// @flow const [name, setName] = useState(''); (name: string)
Reactでhooks使って書きたいよね
Reactのversionが16.8以降ならHooksを使って書くことができますね
React初心者からするとuseStateでstateを扱えるのはかなり直感的にかけていいなって思ってます
const [name, setName] = useState(''); return ( <div> <input id="name_form" type="text" value={name} onChange={event => setName(event.target.name)} /> </div> )
みたいな感じです
型はつけたいよね
僕はあんまり型の恩恵を受けたことがないので素晴らしさがよくわからないんですが jsは実際に動かすまでエラーがわからないのでflowで型をつけたほうがいいですよね (多分そうなんだろう)
useStateでflowを使うにはこんな感じにします
// @flow const [name, setName] = useState(''); (name: string)
reactやflowのdocumentには見つけられなかったんですがstackoverflowにありました https://stackoverflow.com/questions/55977991/how-to-do-flow-type-annotations-for-react-hooks-usestate-etc
ちなみにこんな風にも書けます
// @flow const [name, setName] = useState<string>('');
リンク先はTypeScriptについての記事ですがflowも同様にできます
後者の方が1行にまとまっててみやすいですね