reduxの「connect」からフックの「useDispatch」と「useSelector」に移行するにはどうすればよいですか?

レオ・ルトコウスキー

公式ガイドが提供されていないため、アクションをディスパッチしてストアから状態を取得する限り、reduxからフックに移行する方法がわかりません。この方法は正しいですか?

import React, { useEffect } from 'react'
import { useSelector, useDispatch } from 'react-redux'
import { createSelector } from 'reselect'
import { actions, selectors } from 'data'
import TemplateComponent from './template'

const areaSelectors = selectors.components.areas
const modalActions = actions.modals

const selectAllAreas = createSelector(
  areaSelectors.getAdminAreas,
  areaSelectors.getGuestAreas,
  (adminAreas, guestAreas) => adminAreas.concat(guestAreas)
)

const ContainerComponent = () => {
  const dispatch = useDispatch()
  const allAreas = useSelector(selectAllAreas)
  const adminAreas = useSelector(areaSelectors.getAdminAreas)

  useEffect(() => {
    dispatch(
      modalActions.showModal('AreaAddGuest')
    )
  }, [dispatch])

  const passedProps = {
    allAreas,
    adminAreas
  }

  return <TemplateComponent {...passedProps} />
}

export default ContainerComponent

エンレイ

選択部分は正しいようですが、

ディスパッチのある部分はそうではありません。

そこでの効果で何をしようとしているのかわかりませんが、useDispatchは単純です。ディスパッチ機能が提供され、dispatch(mdalActions.showModal('AreaAddGuest'))必要なときに使用できます。

}, [dispatch])useEffect部分は、ディスパッチ関数が変更されるたびにuseEffectを実行するように指示するだけです。つまり、おそらく決して実行されませんが、実装に大きく依存します。それはほぼ間違いなく間違っているようです。

可能であれば、フックを追加する前にコードを投稿して、元のコードを確認してください。

また、フックを使用するためにコードを書き直す必要は決してないことにも注意してください。クラスが廃止された場合、それはおそらく遠い将来になります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

react-reduxのuseSelectorフックでカレーセレクター関数を正しく使用するにはどうすればよいですか?

分類Dev

追加の変数でreact-redux'useSelector 'を使用するにはどうすればよいですか?

分類Dev

useSelector()フックの結果の後にAPI呼び出しを実行するにはどうすればよいですか?

分類Dev

redux-thunkのフェッチアクションから状態にアクセスするにはどうすればよいですか?

分類Dev

フレックスボックスが行の残りの幅をとらないようにするにはどうすればよいですか?

分類Dev

Laravel移行フィールドを別の移行に複製するにはどうすればよいですか?

分類Dev

useEffectから現在のredux状態にアクセスするにはどうすればよいですか?

分類Dev

Laravelミックスから純粋なWebpackに移行するにはどうすればよいですか?

分類Dev

ASTからバックエンドコードに移行するにはどうすればよいですか?

分類Dev

Djangoの移行コマンドで移行をスキップするにはどうすればよいですか?

分類Dev

x、y座標から一意のRGB値に移行するにはどうすればよいですか?

分類Dev

state_machineの使用からassmに移行するにはどうすればよいですか?Railsアプリ

分類Dev

paper_trailのwhodunnit列を文字列から整数に移行するにはどうすればよいですか?

分類Dev

JavaからClojureに移行するにはどうすればよいですか?

分類Dev

FabricCrashlyticsからFirebaseCrashlyticsに移行するにはどうすればよいですか?

分類Dev

BansheeからRhythmboxに移行するにはどうすればよいですか?

分類Dev

iPhotoからPicasaに移行するにはどうすればよいですか?

分類Dev

リップルタッチのクリック可能なフレームをXamarin.Forms2.5に移行するにはどうすればよいですか?

分類Dev

RSpecspec_helperで保留中の移行をチェックするときにActiveRecord :: DangerousAttributeErrorを修正するにはどうすればよいですか?

分類Dev

フレックスで行ごとの最大 div を表示するにはどうすればよいですか?

分類Dev

SKActionへの移行を作成するにはどうすればよいですか?

分類Dev

CSSの移行が完了するまでボタンをクリックできないようにするにはどうすればよいですか?

分類Dev

Laravelの移行にインデックスが存在するかどうかを確認するにはどうすればよいですか?

分類Dev

デフォルトの左から右ではなく、右から左に幅を移行するにはどうすればよいですか?

分類Dev

@ reduxjs / toolkitからconfigureStoreを使用するときにReduxストアの状態をリセットするにはどうすればよいですか?

分類Dev

以前のインストールからTomboyNotesを移行するにはどうすればよいですか?

分類Dev

Visual Studio TeamServicesからASP.NETCore EntityFrameworkの移行を実行するにはどうすればよいですか

分類Dev

別のRails移行から継承するにはどうすればよいですか?

分類Dev

IBM Bluemix上のSQLDBサービスから移行するにはどうすればよいですか?

Related 関連記事

  1. 1

    react-reduxのuseSelectorフックでカレーセレクター関数を正しく使用するにはどうすればよいですか?

  2. 2

    追加の変数でreact-redux'useSelector 'を使用するにはどうすればよいですか?

  3. 3

    useSelector()フックの結果の後にAPI呼び出しを実行するにはどうすればよいですか?

  4. 4

    redux-thunkのフェッチアクションから状態にアクセスするにはどうすればよいですか?

  5. 5

    フレックスボックスが行の残りの幅をとらないようにするにはどうすればよいですか?

  6. 6

    Laravel移行フィールドを別の移行に複製するにはどうすればよいですか?

  7. 7

    useEffectから現在のredux状態にアクセスするにはどうすればよいですか?

  8. 8

    Laravelミックスから純粋なWebpackに移行するにはどうすればよいですか?

  9. 9

    ASTからバックエンドコードに移行するにはどうすればよいですか?

  10. 10

    Djangoの移行コマンドで移行をスキップするにはどうすればよいですか?

  11. 11

    x、y座標から一意のRGB値に移行するにはどうすればよいですか?

  12. 12

    state_machineの使用からassmに移行するにはどうすればよいですか?Railsアプリ

  13. 13

    paper_trailのwhodunnit列を文字列から整数に移行するにはどうすればよいですか?

  14. 14

    JavaからClojureに移行するにはどうすればよいですか?

  15. 15

    FabricCrashlyticsからFirebaseCrashlyticsに移行するにはどうすればよいですか?

  16. 16

    BansheeからRhythmboxに移行するにはどうすればよいですか?

  17. 17

    iPhotoからPicasaに移行するにはどうすればよいですか?

  18. 18

    リップルタッチのクリック可能なフレームをXamarin.Forms2.5に移行するにはどうすればよいですか?

  19. 19

    RSpecspec_helperで保留中の移行をチェックするときにActiveRecord :: DangerousAttributeErrorを修正するにはどうすればよいですか?

  20. 20

    フレックスで行ごとの最大 div を表示するにはどうすればよいですか?

  21. 21

    SKActionへの移行を作成するにはどうすればよいですか?

  22. 22

    CSSの移行が完了するまでボタンをクリックできないようにするにはどうすればよいですか?

  23. 23

    Laravelの移行にインデックスが存在するかどうかを確認するにはどうすればよいですか?

  24. 24

    デフォルトの左から右ではなく、右から左に幅を移行するにはどうすればよいですか?

  25. 25

    @ reduxjs / toolkitからconfigureStoreを使用するときにReduxストアの状態をリセットするにはどうすればよいですか?

  26. 26

    以前のインストールからTomboyNotesを移行するにはどうすればよいですか?

  27. 27

    Visual Studio TeamServicesからASP.NETCore EntityFrameworkの移行を実行するにはどうすればよいですか

  28. 28

    別のRails移行から継承するにはどうすればよいですか?

  29. 29

    IBM Bluemix上のSQLDBサービスから移行するにはどうすればよいですか?

ホットタグ

アーカイブ