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行にまとまっててみやすいですね