File tree Expand file tree Collapse file tree 9 files changed +38471
-39864
lines changed
entry-one/routes/nested-routes/pathname
entry-two/routes/federation Expand file tree Collapse file tree 9 files changed +38471
-39864
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ export default defineConfig({
18
18
bundler : 'webpack' ,
19
19
} ) ,
20
20
moduleFederationPlugin ( {
21
- dataLoader : true ,
21
+ importRoutes : true ,
22
22
} ) ,
23
23
] ,
24
24
} ) ;
Original file line number Diff line number Diff line change 28
28
"@modern-js/runtime" : " 2.60.2" ,
29
29
"react" : " ~18.2.0" ,
30
30
"react-dom" : " ~18.2.0" ,
31
- "@module-federation/modern-js" : " 0.0.0-next-20241014092946 " ,
31
+ "@module-federation/modern-js" : " 0.0.0-next-20241018073518 " ,
32
32
"@babel/runtime" : " 7.24.4" ,
33
33
"antd" : " 4.24.15"
34
34
},
Original file line number Diff line number Diff line change 1
1
// Do not edit this file. It is a auto generated.
2
2
// It will render remote's layout.
3
- // The layout pathname is: entry-one/nested-routes/pathname
3
+ // The layout pathname is: / entry-one/nested-routes/pathname
4
4
// The layout route id is: entry-one_nested-routes/pathname/layout
Original file line number Diff line number Diff line change 1
1
// Do not edit this file. It is a auto generated.
2
2
// It will render remote's layout.
3
- // The layout pathname is: entry-two/federation
3
+ // The layout pathname is: / entry-two/federation
4
4
// The layout route id is: entry-two_federation/layout
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ export default defineConfig({
12
12
bundler : 'webpack' ,
13
13
} ) ,
14
14
moduleFederationPlugin ( {
15
- dataLoader : true ,
15
+ exportRoutes : true ,
16
16
} ) ,
17
17
] ,
18
18
server : {
Original file line number Diff line number Diff line change 28
28
"@modern-js/runtime" : " 2.60.2" ,
29
29
"react" : " ~18.3.1" ,
30
30
"react-dom" : " ~18.3.1" ,
31
- "@module-federation/modern-js" : " 0.0.0-next-20241014092946 " ,
31
+ "@module-federation/modern-js" : " 0.0.0-next-20241018073518 " ,
32
32
"@babel/runtime" : " 7.24.4" ,
33
33
"antd" : " 4.24.15"
34
34
},
Original file line number Diff line number Diff line change
1
+ import type { ActionFunction } from '@modern-js/runtime/router' ;
2
+
3
+ const storage = new Map ( ) ;
4
+ const key = 'modernTestActionName'
5
+
1
6
export type ProfileData = {
2
7
message : string ;
3
8
} ;
4
- const loader = async ( ) : Promise < ProfileData > => {
9
+
10
+ export const action : ActionFunction = async ( { request } ) => {
11
+ try {
12
+ const user = await request . json ( ) ;
13
+ const { name } = user ;
14
+ storage . set ( key , name ) ;
15
+ return true ;
16
+ } catch ( error ) {
17
+ console . error ( error ) ;
18
+ return false ;
19
+ }
20
+ } ;
21
+
22
+ export const loader = async ( ) : Promise < ProfileData > => {
5
23
const msg = await new Promise < string > ( ( resolve ) => {
6
24
setTimeout ( ( ) => {
7
- resolve ( 'hello world333' ) ;
25
+ const value = storage . get ( key ) ;
26
+ resolve ( value || 'hello world' ) ;
8
27
} , 0 ) ;
9
28
} ) ;
10
29
return {
11
30
message : msg ,
12
31
} ;
13
32
} ;
14
- export { loader } ;
Original file line number Diff line number Diff line change 1
1
import './index.css' ;
2
- import { useLoaderData , Link } from '@modern-js/runtime/router' ;
2
+ import { useLoaderData , Link , useFetcher } from '@modern-js/runtime/router' ;
3
3
import Image from '../components/Image' ;
4
4
import type { ProfileData } from './page.data' ;
5
5
6
6
const Index = ( ) : JSX . Element => {
7
7
const data = ( useLoaderData ( ) as ProfileData ) || {
8
8
message : '404' ,
9
9
} ;
10
+
11
+ const { submit } = useFetcher ( ) ;
12
+ const editUser = ( ) => {
13
+ const newUser = {
14
+ name : 'Modern.js'
15
+ }
16
+ return submit ( newUser , {
17
+ method : 'post' ,
18
+ encType : 'application/json' ,
19
+ } )
20
+ }
21
+
10
22
return (
11
23
< div className = "container-box" >
12
24
< Link to = { 'route-b' } > jump to remote self route (route-b)</ Link >
25
+
26
+ < button onClick = { editUser } > update data loader data</ button >
13
27
provider { data . message }
28
+
14
29
< Image />
15
30
</ div >
16
31
) ;
You can’t perform that action at this time.
0 commit comments