1+ import React , { useMemo , useState , useCallback , useEffect , useRef } from 'react'
12import { ChainId , Network } from '@avalabs/core-chains-sdk'
23import {
34 ActivityIndicator ,
@@ -15,7 +16,6 @@ import { ErrorState } from 'common/components/ErrorState'
1516import { ListScreenV2 } from 'common/components/ListScreenV2'
1617import { useRouter } from 'expo-router'
1718import { LogoWithNetwork } from 'features/portfolio/assets/components/LogoWithNetwork'
18- import React , { useCallback , useEffect , useMemo , useState } from 'react'
1919import { ListRenderItem } from '@shopify/flash-list'
2020import { LocalTokenWithBalance } from 'store/balance'
2121import { getCaip2ChainId } from 'utils/caip2ChainIds'
@@ -48,17 +48,23 @@ export const SelectSwapV2TokenScreen = ({
4848 undefined
4949 )
5050
51- // Set default network when networks are loaded
51+ // Track if we've set the default network
52+ const hasSetDefaultNetwork = useRef ( false )
53+
54+ // Set default network once when networks are loaded
5255 useEffect ( ( ) => {
53- if ( ! networks || networks . length === 0 ) return
56+ if ( ! networks || networks . length === 0 || hasSetDefaultNetwork . current )
57+ return
5458
5559 if ( defaultNetworkChainId ) {
5660 const found = networks . find ( n => n . chainId === defaultNetworkChainId )
5761 setSelectedNetwork ( found ?? networks [ 0 ] )
58- } else if ( ! selectedNetwork ) {
62+ } else {
5963 setSelectedNetwork ( networks [ 0 ] )
6064 }
61- } , [ defaultNetworkChainId , networks , selectedNetwork ] )
65+
66+ hasSetDefaultNetwork . current = true
67+ } , [ defaultNetworkChainId , networks ] )
6268
6369 // Get CAIP2 ID for selected network
6470 const caip2Id = useMemo ( ( ) => {
0 commit comments