@@ -186,7 +186,6 @@ function testDomRouter(
186
186
"<div>
187
187
<div>
188
188
parent data
189
- child action
190
189
idle
191
190
<div>
192
191
child data
@@ -238,7 +237,6 @@ function testDomRouter(
238
237
"<div>
239
238
<div>
240
239
parent data
241
- child action
242
240
idle
243
241
<div>
244
242
child data
@@ -1042,7 +1040,17 @@ function testDomRouter(
1042
1040
lazy = { async ( ) => ( {
1043
1041
action : ( ) => actionDefer . promise ,
1044
1042
loader : ( ) => loaderDefer . promise ,
1045
- element : < h1 > Action</ h1 > ,
1043
+ Component ( ) {
1044
+ let data = useLoaderData ( ) as string ;
1045
+ let actionData = useActionData ( ) as string | undefined ;
1046
+ return (
1047
+ < >
1048
+ < h1 > Action</ h1 >
1049
+ < p > { data } </ p >
1050
+ < p > { actionData } </ p >
1051
+ </ >
1052
+ ) ;
1053
+ } ,
1046
1054
} ) }
1047
1055
/>
1048
1056
</ Route >
@@ -1054,8 +1062,6 @@ function testDomRouter(
1054
1062
let { container } = render ( < RouterProvider router = { router } /> ) ;
1055
1063
1056
1064
function Home ( ) {
1057
- let data = useMatches ( ) . pop ( ) ?. data as string | undefined ;
1058
- let actionData = useActionData ( ) as string | undefined ;
1059
1065
let navigation = useNavigation ( ) ;
1060
1066
let submit = useSubmit ( ) ;
1061
1067
let formRef = React . useRef < HTMLFormElement > ( null ) ;
@@ -1067,8 +1073,6 @@ function testDomRouter(
1067
1073
< button onClick = { ( ) => submit ( formRef . current ) } > Submit Form</ button >
1068
1074
< div id = "output" >
1069
1075
< p > { navigation . state } </ p >
1070
- < p > { data } </ p >
1071
- < p > { actionData } </ p >
1072
1076
< Outlet />
1073
1077
</ div >
1074
1078
</ div >
@@ -1084,8 +1088,6 @@ function testDomRouter(
1084
1088
<p>
1085
1089
idle
1086
1090
</p>
1087
- <p />
1088
- <p />
1089
1091
<h1>
1090
1092
Home
1091
1093
</h1>
@@ -1102,8 +1104,6 @@ function testDomRouter(
1102
1104
<p>
1103
1105
submitting
1104
1106
</p>
1105
- <p />
1106
- <p />
1107
1107
<h1>
1108
1108
Home
1109
1109
</h1>
@@ -1120,10 +1120,6 @@ function testDomRouter(
1120
1120
<p>
1121
1121
loading
1122
1122
</p>
1123
- <p />
1124
- <p>
1125
- Action Data
1126
- </p>
1127
1123
<h1>
1128
1124
Home
1129
1125
</h1>
@@ -1140,15 +1136,15 @@ function testDomRouter(
1140
1136
<p>
1141
1137
idle
1142
1138
</p>
1139
+ <h1>
1140
+ Action
1141
+ </h1>
1143
1142
<p>
1144
1143
Loader Data
1145
1144
</p>
1146
1145
<p>
1147
1146
Action Data
1148
1147
</p>
1149
- <h1>
1150
- Action
1151
- </h1>
1152
1148
</div>"
1153
1149
` ) ;
1154
1150
} ) ;
@@ -1264,7 +1260,17 @@ function testDomRouter(
1264
1260
) . searchParams . get ( "test" ) ;
1265
1261
return `${ resolvedValue } :${ urlParam } ` ;
1266
1262
} ,
1267
- element : < h1 > Path</ h1 > ,
1263
+ Component ( ) {
1264
+ let data = useLoaderData ( ) as string ;
1265
+ let actionData = useActionData ( ) as string | undefined ;
1266
+ return (
1267
+ < >
1268
+ < h1 > Path</ h1 >
1269
+ < p > { data } </ p >
1270
+ < p > { actionData } </ p >
1271
+ </ >
1272
+ ) ;
1273
+ } ,
1268
1274
} ) }
1269
1275
/>
1270
1276
</ Route >
@@ -1276,8 +1282,6 @@ function testDomRouter(
1276
1282
let { container } = render ( < RouterProvider router = { router } /> ) ;
1277
1283
1278
1284
function Home ( ) {
1279
- let data = useMatches ( ) . pop ( ) ?. data as string | undefined ;
1280
- let actionData = useActionData ( ) as string | undefined ;
1281
1285
let navigation = useNavigation ( ) ;
1282
1286
return (
1283
1287
< div >
@@ -1287,8 +1291,6 @@ function testDomRouter(
1287
1291
</ Form >
1288
1292
< div id = "output" >
1289
1293
< p > { navigation . state } </ p >
1290
- < p > { data } </ p >
1291
- < p > { actionData } </ p >
1292
1294
< Outlet />
1293
1295
</ div >
1294
1296
</ div >
@@ -1304,8 +1306,6 @@ function testDomRouter(
1304
1306
<p>
1305
1307
idle
1306
1308
</p>
1307
- <p />
1308
- <p />
1309
1309
<h1>
1310
1310
Home
1311
1311
</h1>
@@ -1322,8 +1322,6 @@ function testDomRouter(
1322
1322
<p>
1323
1323
loading
1324
1324
</p>
1325
- <p />
1326
- <p />
1327
1325
<h1>
1328
1326
Home
1329
1327
</h1>
@@ -1340,13 +1338,13 @@ function testDomRouter(
1340
1338
<p>
1341
1339
idle
1342
1340
</p>
1341
+ <h1>
1342
+ Path
1343
+ </h1>
1343
1344
<p>
1344
1345
Loader Data:value
1345
1346
</p>
1346
1347
<p />
1347
- <h1>
1348
- Path
1349
- </h1>
1350
1348
</div>"
1351
1349
` ) ;
1352
1350
} ) ;
@@ -1477,7 +1475,17 @@ function testDomRouter(
1477
1475
return `${ resolvedValue } :${ formData . get ( "test" ) } ` ;
1478
1476
} ,
1479
1477
loader : ( ) => loaderDefer . promise ,
1480
- element : < h1 > Action</ h1 > ,
1478
+ Component ( ) {
1479
+ let data = useLoaderData ( ) as string ;
1480
+ let actionData = useActionData ( ) as string | undefined ;
1481
+ return (
1482
+ < >
1483
+ < h1 > Action</ h1 >
1484
+ < p > { data } </ p >
1485
+ < p > { actionData } </ p >
1486
+ </ >
1487
+ ) ;
1488
+ } ,
1481
1489
} ) }
1482
1490
/>
1483
1491
</ Route >
@@ -1490,8 +1498,6 @@ function testDomRouter(
1490
1498
let { container } = render ( < RouterProvider router = { router } /> ) ;
1491
1499
1492
1500
function Home ( ) {
1493
- let data = useMatches ( ) . pop ( ) ?. data as string | undefined ;
1494
- let actionData = useActionData ( ) as string | undefined ;
1495
1501
let navigation = useNavigation ( ) ;
1496
1502
return (
1497
1503
< div >
@@ -1501,8 +1507,6 @@ function testDomRouter(
1501
1507
</ Form >
1502
1508
< div id = "output" >
1503
1509
< p > { navigation . state } </ p >
1504
- < p > { data } </ p >
1505
- < p > { actionData } </ p >
1506
1510
< Outlet />
1507
1511
</ div >
1508
1512
</ div >
@@ -1518,8 +1522,6 @@ function testDomRouter(
1518
1522
<p>
1519
1523
idle
1520
1524
</p>
1521
- <p />
1522
- <p />
1523
1525
<h1>
1524
1526
Home
1525
1527
</h1>
@@ -1536,8 +1538,6 @@ function testDomRouter(
1536
1538
<p>
1537
1539
submitting
1538
1540
</p>
1539
- <p />
1540
- <p />
1541
1541
<h1>
1542
1542
Home
1543
1543
</h1>
@@ -1554,10 +1554,6 @@ function testDomRouter(
1554
1554
<p>
1555
1555
loading
1556
1556
</p>
1557
- <p />
1558
- <p>
1559
- Action Data:value
1560
- </p>
1561
1557
<h1>
1562
1558
Home
1563
1559
</h1>
@@ -1574,15 +1570,15 @@ function testDomRouter(
1574
1570
<p>
1575
1571
idle
1576
1572
</p>
1573
+ <h1>
1574
+ Action
1575
+ </h1>
1577
1576
<p>
1578
1577
Loader Data
1579
1578
</p>
1580
1579
<p>
1581
1580
Action Data:value
1582
1581
</p>
1583
- <h1>
1584
- Action
1585
- </h1>
1586
1582
</div>"
1587
1583
` ) ;
1588
1584
} ) ;
@@ -2038,7 +2034,7 @@ function testDomRouter(
2038
2034
path = "1"
2039
2035
action = { ( ) => "action" }
2040
2036
loader = { ( ) => "1" }
2041
- element = { < h1 > Page 1 </ h1 > }
2037
+ element = { < Page / >}
2042
2038
/>
2043
2039
</ Route >
2044
2040
) ,
@@ -2052,7 +2048,6 @@ function testDomRouter(
2052
2048
function Layout ( ) {
2053
2049
let navigate = useNavigate ( ) ;
2054
2050
let submit = useSubmit ( ) ;
2055
- let actionData = useActionData ( ) as string | undefined ;
2056
2051
let formData = new FormData ( ) ;
2057
2052
formData . append ( "test" , "value" ) ;
2058
2053
return (
@@ -2067,13 +2062,22 @@ function testDomRouter(
2067
2062
</ button >
2068
2063
< button onClick = { ( ) => navigate ( - 1 ) } > Go back</ button >
2069
2064
< div className = "output" >
2070
- { actionData ? < p > { actionData } </ p > : null }
2071
2065
< Outlet />
2072
2066
</ div >
2073
2067
</ >
2074
2068
) ;
2075
2069
}
2076
2070
2071
+ function Page ( ) {
2072
+ let actionData = useActionData ( ) as string | undefined ;
2073
+ return (
2074
+ < >
2075
+ < h1 > Page 1</ h1 >
2076
+ < p > { actionData } </ p >
2077
+ </ >
2078
+ ) ;
2079
+ }
2080
+
2077
2081
expect ( getHtml ( container . querySelector ( ".output" ) ! ) )
2078
2082
. toMatchInlineSnapshot ( `
2079
2083
"<div
@@ -2095,6 +2099,7 @@ function testDomRouter(
2095
2099
<h1>
2096
2100
Page 1
2097
2101
</h1>
2102
+ <p />
2098
2103
</div>"
2099
2104
` ) ;
2100
2105
@@ -2105,12 +2110,12 @@ function testDomRouter(
2105
2110
"<div
2106
2111
class="output"
2107
2112
>
2108
- <p>
2109
- action
2110
- </p>
2111
2113
<h1>
2112
2114
Page 1
2113
2115
</h1>
2116
+ <p>
2117
+ action
2118
+ </p>
2114
2119
</div>"
2115
2120
` ) ;
2116
2121
0 commit comments