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({
1818 bundler : 'webpack' ,
1919 } ) ,
2020 moduleFederationPlugin ( {
21- dataLoader : true ,
21+ importRoutes : true ,
2222 } ) ,
2323 ] ,
2424} ) ;
Original file line number Diff line number Diff line change 2828 "@modern-js/runtime" : " 2.60.2" ,
2929 "react" : " ~18.2.0" ,
3030 "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 " ,
3232 "@babel/runtime" : " 7.24.4" ,
3333 "antd" : " 4.24.15"
3434 },
Original file line number Diff line number Diff line change 11// Do not edit this file. It is a auto generated.
22// 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
44// The layout route id is: entry-one_nested-routes/pathname/layout
Original file line number Diff line number Diff line change 11// Do not edit this file. It is a auto generated.
22// It will render remote's layout.
3- // The layout pathname is: entry-two/federation
3+ // The layout pathname is: / entry-two/federation
44// 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({
1212 bundler : 'webpack' ,
1313 } ) ,
1414 moduleFederationPlugin ( {
15- dataLoader : true ,
15+ exportRoutes : true ,
1616 } ) ,
1717 ] ,
1818 server : {
Original file line number Diff line number Diff line change 2828 "@modern-js/runtime" : " 2.60.2" ,
2929 "react" : " ~18.3.1" ,
3030 "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 " ,
3232 "@babel/runtime" : " 7.24.4" ,
3333 "antd" : " 4.24.15"
3434 },
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+
16export type ProfileData = {
27 message : string ;
38} ;
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 > => {
523 const msg = await new Promise < string > ( ( resolve ) => {
624 setTimeout ( ( ) => {
7- resolve ( 'hello world333' ) ;
25+ const value = storage . get ( key ) ;
26+ resolve ( value || 'hello world' ) ;
827 } , 0 ) ;
928 } ) ;
1029 return {
1130 message : msg ,
1231 } ;
1332} ;
14- export { loader } ;
Original file line number Diff line number Diff line change 11import './index.css' ;
2- import { useLoaderData , Link } from '@modern-js/runtime/router' ;
2+ import { useLoaderData , Link , useFetcher } from '@modern-js/runtime/router' ;
33import Image from '../components/Image' ;
44import type { ProfileData } from './page.data' ;
55
66const Index = ( ) : JSX . Element => {
77 const data = ( useLoaderData ( ) as ProfileData ) || {
88 message : '404' ,
99 } ;
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+
1022 return (
1123 < div className = "container-box" >
1224 < Link to = { 'route-b' } > jump to remote self route (route-b)</ Link >
25+
26+ < button onClick = { editUser } > update data loader data</ button >
1327 provider { data . message }
28+
1429 < Image />
1530 </ div >
1631 ) ;
You can’t perform that action at this time.
0 commit comments