hooksに書き直せないパターンに初めて出会って、クラスコンポーネントで書かなければならず、まともにやってなかったのでいろいろ忘れないようにメモしておく。
##ちなみにhooksに書き直せないパターン
handleUpdateBeforeSortStart = ({index}) => {
return new Promise((resolve) =>
this.setState(
({items}) => ({
sortingItemKey: items[index],
isSorting: true,
}),
resolve,
),
);
};
PromiseのなかでsetStateして、第二引数のコールバックにresolveを指定している場合。
hooksのuseStateではコールバックを指定できず、大抵の場合はuseEffectの中で書くが、promiseのresolveはむり?みたい
##tips
- クラスコンポーネント内ではletやconstなどは書かない
- クラス内で定義した変数にはthisでアクセス
- 子コンポーネントからstateを変更したい場合には親コンポーネントでstateを変更する関数を作ってそれを子コンポーネントに渡す