@@ -296,7 +296,7 @@ export function useAsyncData<
296296
297297 const isWithinClientOnly = instance && ( instance . _nuxtClientOnly || inject ( clientOnlySymbol , false ) )
298298
299- if ( fetchOnServer && nuxtApp . isHydrating && ( asyncData . error . value || asyncData . data . value !== asyncDataDefaults . value ) ) {
299+ if ( fetchOnServer && nuxtApp . isHydrating && ( asyncData . error . value || asyncData . data . value !== undefined ) ) {
300300 // 1. Hydration (server: true): no fetch
301301 if ( pendingWhenIdle ) {
302302 asyncData . pending . value = false
@@ -333,7 +333,7 @@ export function useAsyncData<
333333 }
334334 }
335335 const unsubKey = watch ( key , ( newKey , oldKey ) => {
336- const hasRun = nuxtApp . _asyncData [ oldKey ] ?. data . value !== asyncDataDefaults . value
336+ const hasRun = nuxtApp . _asyncData [ oldKey ] ?. data . value !== undefined
337337 if ( oldKey && oldKey !== newKey ) {
338338 unregister ( oldKey )
339339 }
@@ -486,7 +486,7 @@ export function useNuxtData<DataT = any> (key: string): { data: Ref<DataT | unde
486486
487487 // Initialize value when key is not already set
488488 if ( ! ( key in nuxtApp . payload . data ) ) {
489- nuxtApp . payload . data [ key ] = asyncDataDefaults . value
489+ nuxtApp . payload . data [ key ] = undefined
490490 }
491491
492492 if ( nuxtApp . _asyncData [ key ] ) {
@@ -548,16 +548,16 @@ export function clearNuxtData (keys?: string | string[] | ((key: string) => bool
548548
549549function clearNuxtDataByKey ( nuxtApp : NuxtApp , key : string ) : void {
550550 if ( key in nuxtApp . payload . data ) {
551- nuxtApp . payload . data [ key ] = asyncDataDefaults . value
551+ nuxtApp . payload . data [ key ] = undefined
552552 }
553553
554554 if ( key in nuxtApp . payload . _errors ) {
555- nuxtApp . payload . _errors [ key ] = asyncDataDefaults . errorValue
555+ nuxtApp . payload . _errors [ key ] = undefined
556556 }
557557
558558 if ( nuxtApp . _asyncData [ key ] ) {
559559 nuxtApp . _asyncData [ key ] ! . data . value = unref ( nuxtApp . _asyncData [ key ] ! . _default ( ) )
560- nuxtApp . _asyncData [ key ] ! . error . value = asyncDataDefaults . errorValue
560+ nuxtApp . _asyncData [ key ] ! . error . value = undefined
561561 if ( pendingWhenIdle ) {
562562 nuxtApp . _asyncData [ key ] ! . pending . value = false
563563 }
@@ -592,7 +592,7 @@ function createAsyncData<
592592 PickKeys extends KeysOf < DataT > = KeysOf < DataT > ,
593593 DefaultT = undefined ,
594594> ( nuxtApp : NuxtApp , key : string , _handler : ( ctx ?: NuxtApp ) => Promise < ResT > , options : AsyncDataOptions < ResT , DataT , PickKeys , DefaultT > , initialCachedData ?: NoInfer < DataT > ) : CreatedAsyncData < ResT , NuxtErrorDataT , DataT , DefaultT > {
595- nuxtApp . payload . _errors [ key ] ??= asyncDataDefaults . errorValue
595+ nuxtApp . payload . _errors [ key ] ??= undefined
596596
597597 const hasCustomGetCachedData = options . getCachedData !== getDefaultCachedData
598598
@@ -610,7 +610,7 @@ function createAsyncData<
610610 }
611611
612612 const _ref = options . deep ? ref : shallowRef
613- const hasCachedData = initialCachedData !== asyncDataDefaults . value
613+ const hasCachedData = initialCachedData !== undefined
614614 const unsubRefreshAsyncData = nuxtApp . hook ( 'app:data:refresh' , async ( keys ) => {
615615 if ( ! keys || keys . includes ( key ) ) {
616616 await asyncData . execute ( { cause : 'refresh:hook' } )
@@ -632,9 +632,9 @@ function createAsyncData<
632632 // Avoid fetching same key that is already fetched
633633 if ( granularCachedData || opts . cause === 'initial' || nuxtApp . isHydrating ) {
634634 const cachedData = 'cachedData' in opts ? opts . cachedData : options . getCachedData ! ( key , nuxtApp , { cause : opts . cause ?? 'refresh:manual' } )
635- if ( cachedData !== asyncDataDefaults . value ) {
635+ if ( cachedData !== undefined ) {
636636 nuxtApp . payload . data [ key ] = asyncData . data . value = cachedData as DataT
637- asyncData . error . value = asyncDataDefaults . errorValue
637+ asyncData . error . value = undefined
638638 asyncData . status . value = 'success'
639639 return Promise . resolve ( cachedData )
640640 }
@@ -675,7 +675,7 @@ function createAsyncData<
675675 nuxtApp . payload . data [ key ] = result
676676
677677 asyncData . data . value = result
678- asyncData . error . value = asyncDataDefaults . errorValue
678+ asyncData . error . value = undefined
679679 asyncData . status . value = 'success'
680680 } )
681681 . catch ( ( error : any ) => {
@@ -724,7 +724,7 @@ function createAsyncData<
724724}
725725
726726// Used to get default values
727- const getDefault = ( ) => asyncDataDefaults . value
727+ const getDefault = ( ) => undefined
728728const getDefaultCachedData : AsyncDataOptions < any > [ 'getCachedData' ] = ( key , nuxtApp , ctx ) => {
729729 if ( nuxtApp . isHydrating ) {
730730 return nuxtApp . payload . data [ key ]
0 commit comments