検索

ホームページ  >  に質問  >  本文

Redux ストアの値が変更されたときに React Tab コンポーネントがアクティブなタブを更新しない

<p>React アプリケーションで Chakra UI Tab コンポーネントを使用しています。 Redux に数値が保存されており、その値に基づいてアクティブなタブを変更したいと考えています。ただし、ストア内の数値を更新しても、アクティブなタブはそれに応じて変更されません。この問題はどうすれば解決できますか? </p> <p><code>MyTabs</code> コンポーネントのコードは次のとおりです。</p> <pre class="brush:php;toolbar:false;">function MyTabs() { const 番号 = useSelector(selectnumber); コンソール.ログ(番号); 戻る ( <タブのデフォルトインデックス={数値}> <タブパネル> <タブパネル> <Image boxSize="200px" fit="cover" src="" /> </TabPanel> <タブパネル> <Image boxSize="200px" fit="cover" src="" /> </TabPanel> </TabPanels> <タブリスト> <Tab>ナルト</Tab> <Tab>サスケ</Tab> </TabList> </タブ> ); }</pre></p>
P粉950128819P粉950128819494日前599

全員に返信(2)返信します

  • P粉567281015

    P粉5672810152023-09-01 11:58:13

    Redux の値が変更されたときに Chakra UI Tab コンポーネントのアクティブなタブが更新されるようにするには、React が提供する useEffect フックを使用できます。 useEffect フックを使用すると、特定の依存関係が変更されたときにアクティブなタブを更新するなどの副作用を実行できます。

    MyTabs コンポーネントは次のように変更できます:

    リーリー

    この更新されたコードでは、useEffect フックを使用して、値が変更されたときに操作 (updateNumber) をディスパッチします。数値更新を処理するために、Redux スライスに適切な操作とリデューサー ロジック (selectNumber) が実装されていることを確認してください。

    これを行うと、Redux に保存されている数値に基づいてアクティブなタブが自動的に更新されます。

    返事
    0
  • P粉953231781

    P粉9532317812023-09-01 11:51:34

    defaultIndex プロパティは次のとおりです:

    制御コンポーネントと非制御コンポーネント および デフォルト値 ドキュメント:

    を参照してください。

    制御されたタブを使用できます リーリー

    返事
    0
  • キャンセル返事