File tree Expand file tree Collapse file tree 5 files changed +78
-0
lines changed 
packages/plugin-rsc/examples/basic/src/routes Expand file tree Collapse file tree 5 files changed +78
-0
lines changed Original file line number Diff line number Diff line change 1+ 'use client' 
2+ 
3+ import  React  from  'react' 
4+ import  {  testShared  }  from  './shared' 
5+ 
6+ export  function  TestClient ( { 
7+   testSharedFromServer, 
8+ } : { 
9+   testSharedFromServer : string 
10+ } )  { 
11+   React . useEffect ( ( )  =>  { 
12+     console . log ( {  testShared,  testSharedFromServer } ) 
13+     if  ( testShared  !==  testSharedFromServer )  { 
14+       throw  new  Error ( 
15+         `Mismatch: ${ JSON . stringify ( {  testShared,  testSharedFromServer } ) }  , 
16+       ) 
17+     } 
18+   } ,  [ testShared ,  testSharedFromServer ] ) 
19+ 
20+   return  < > ok ({ testShared } )</ > 
21+ } 
Original file line number Diff line number Diff line change 1+ 'use client' 
2+ 
3+ import  *  as  React  from  'react' 
4+ 
5+ interface  Props  { 
6+   children ?: React . ReactNode 
7+ } 
8+ 
9+ interface  State  { 
10+   error : Error  |  null 
11+ } 
12+ 
13+ export  default  class  ErrorBoundary  extends  React . Component < Props ,  State >  { 
14+   constructor ( props : Props )  { 
15+     super ( props ) 
16+     this . state  =  {  error : null  } 
17+   } 
18+ 
19+   static  getDerivedStateFromError ( error : Error )  { 
20+     return  {  error } 
21+   } 
22+ 
23+   render ( )  { 
24+     if  ( this . state . error )  { 
25+       return  ( 
26+         < span > 
27+           ERROR
28+           < button 
29+             onClick = { ( )  =>  { 
30+               this . setState ( {  error : null  } ) 
31+             } } 
32+           > 
33+             Reset
34+           </ button > 
35+         </ span > 
36+       ) 
37+     } 
38+     return  this . props . children 
39+   } 
40+ } 
Original file line number Diff line number Diff line change 1+ import  {  TestClient  }  from  './client' 
2+ import  ErrorBoundary  from  './error-boundary' 
3+ import  {  testShared  }  from  './shared' 
4+ 
5+ export  function  TestHmrSharedAtomic ( )  { 
6+   return  ( 
7+     < div > 
8+       test-hmr-shared-atomic:{ ' ' } 
9+       < ErrorBoundary > 
10+         < TestClient  testSharedFromServer = { testShared }  /> 
11+       </ ErrorBoundary > 
12+     </ div > 
13+   ) 
14+ } 
Original file line number Diff line number Diff line change 1+ export  const  testShared  =  'test-shared' 
Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ import { TestTransitiveCjsClient } from './deps/transitive-cjs/client'
3434import  TestDepCssInServer  from  '@vitejs/test-dep-css-in-server/server' 
3535import  {  TestHmrSharedServer  }  from  './hmr-shared/server' 
3636import  {  TestHmrSharedClient  }  from  './hmr-shared/client' 
37+ import  {  TestHmrSharedAtomic  }  from  './hmr-shared/atomic/server' 
3738
3839export  function  Root ( props : {  url : URL  } )  { 
3940  return  ( 
@@ -60,6 +61,7 @@ export function Root(props: { url: URL }) {
6061        < TestHmrClientDep  /> 
6162        < TestHmrSharedServer  /> 
6263        < TestHmrSharedClient  /> 
64+         < TestHmrSharedAtomic  /> 
6365        < TestTemporaryReference  /> 
6466        < TestServerActionError  /> 
6567        < TestReplayConsoleLogs  url = { props . url }  /> 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments