當 Redux 儲存值變更時,React Tab 元件不會更新活動標籤
P粉950128819
P粉950128819 2023-08-31 17:49:11
0
2
468

我在 React 應用程式中使用 Chakra UI Tab 元件。我在 Redux 中儲存了一個數字值,我想根據該值更改活動標籤。但是,當我更新商店中的數值時,活動標籤不會相應更改。我該如何解決這個問題?

以下是 MyTabs 組件的代碼:

function MyTabs() { const number = useSelector(selectnumber); console.log(number); return (           Naruto Sasuke   ); }

P粉950128819
P粉950128819

全部回覆 (2)
P粉567281015

為了確保當 Redux 中的數值發生變化時,Chakra UI Tab 元件中的活動標籤會更新,您可以使用 React 提供的 useEffect 鉤子。 useEffect 掛鉤可讓您執行副作用,例如當特定依賴項發生變更時更新活動標籤。

您可以如下修改 MyTabs 元件:

import { useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { Tabs, TabList, Tab, TabPanels, TabPanel } from '@chakra-ui/react'; import { selectNumber, updateNumber } from 'path/to/your/redux/slice'; function MyTabs() { const number = useSelector(selectNumber); const dispatch = useDispatch(); useEffect(() => { // Update the active tab index in Redux when the number changes dispatch(updateNumber(number)); }, [number, dispatch]); return (           Naruto Sasuke   ); }**'

在此更新的程式碼中,useEffect 掛鉤用於在數值變更時調度操作 (updateNumber)。確保您已在 Redux 切片中實現了相應的操作和化簡器邏輯 (selectNumber) 來處理數位更新。

透過這樣做,活動標籤將根據 Redux 中儲存的數值自動更新。

    P粉953231781

    defaultIndex屬性是:

    請參閱受控和不受控元件預設值文件:

    您可以使用受控選項卡

    const tabIndex = useSelector(selectnumber); const dispatch = useDispatch();  dispatch({ type: 'SET_TAB_INDEX', payload: { index } })}> 
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!