2021-03-17
3回目のピアノのレッスンだった。
「メヌエットを極めていくか、いろんな曲をやっていくか、どっちがいいですかね」みたいなことを先生に言われて、今は色んな曲をやって楽譜を読む力をつけていきたいなという気持ちになったので色んな曲をやっていくことにした。
自宅で少し練習していたカノンをレッスンでもやったのだけど、左右の手がそれぞれ違うことするのが難しすぎてずたぼろだった。来週までにはもう少し弾けるようになっておきたい。
twitter.comclass C extends React.Component<Props, State> {
— Pocke(ぽっけ) (@p_ck_) March 17, 2021
// How can I type the parameters of setState???
setState(state, callback?) {
do_something()
super.setState(state, callback)
}
}
TypeScriptで継承元の関数と同じシグネチャで関数をクラスに定義するにはどうしたらいいのか、と悩んでいた。今の所どうしたらいいのかわからない……。
Parameters
型関数を使えば関数の型から引数の型が取り出せるからそうしたら良いかなと思ったのだけど、super.setState
の型ってどうやって取ったらいいんだ…。
setState(state: Parameters<typeof ???>[0], callback?: Parameters<typeof ???>[1])
みたいに書けばいいと思うのだけど、この???
が分からない。super.setState
ではなかった(super
が見つからないエラーになる)。
setState
をオーバーライドするな、それはそう……。でもそういうコードがある……