

タイトルが分かりにくくて申し訳ありません。

useStateのセット関数で更新した値をすぐに参照したのですが、更新前の値が取れてしまいます。  
useStateの更新はすぐに実行されないというのは知っています。

### やりたいこと

イベント内でuseStateの更新後の値をすぐに参照したいです。

### 概要

イベント内でリストを再取得し、再取得後のリスト件数（multipleList.length）で判定をしたいです。  
今は更新前の値が取れる為、１ステップ処理が遅れている状態です。

### コード

[code]

    const [ multipleList, setMultipleList ] = useState<selectAddressList[]>([])
    
    // ★１
    useEffect(() => {
     const setNewSelAddrList = () => {
      if (selAddressList && selAddressList.length > 0){
       const newList = [...selAddressList]
      
       // ここで更新後の住所リストが格納されているのは確認済
    　 setMultipleList(newList);
    　}
     }
     setNewSelAddrList();
    }, [selAddressList])
    
    // コンボボックス変更イベント
    const onChangeAddr3 = async(rowData:string) => {
    
     // rowDataには、郵便番号が入っている
     if (rowData != ''){
    
      // 郵便番号から住所一覧を取得
      await dispatch(fetchAsyncSelectedAddressList(rowData.toString()))        // ★２
    　    
      // ★更新された住所リストの件数で判定したい★
      if (multipleList.length == 0){
       ＸＸＸＸＸＸＸ
      }
    
     }
    };
    
[/code]

### 補足

★１ 住所リスト（selAddressList）が変更されたタイミングでイベント発火。  
fetchAsyncSelectedAddressListでselAddressListが更新されます。  
★２ ReduxのSliceを通して、APIからデータ取得し、住所リスト（selAddressList）を更新している

宜しくお願い致します。  


CC BY-SA 4.0
2023-03-30T06:41:04.920
94379
2023-04-05T02:34:34.300
2023-04-05T02:34:34.300
3060
57747
question
javascript reactjs redux
ReduxでdispatchしpayloadからのuseEffectを実行しその中のuseStateのセット関数で更新した値で判定する方法