diff --git a/.changeset/form-state-prop.md b/.changeset/form-state-prop.md
new file mode 100644
index 0000000000..fdedef6237
--- /dev/null
+++ b/.changeset/form-state-prop.md
@@ -0,0 +1,5 @@
+---
+"react-router-dom": patch
+---
+
+Add missing `
+```
+
+You can access this state value while on the "new-path" route:
+
+```ts
+let { state } = useLocation();
+```
+
## `preventScrollReset`
If you are using [``][scrollrestoration], this lets you prevent the scroll position from being reset to the top of the window when the form action redirects to a new location.
@@ -330,3 +348,4 @@ You can access those values from the `request.url`
[pickingarouter]: ../routers/picking-a-router
[scrollrestoration]: ./scroll-restoration
[link-preventscrollreset]: ./link#preventscrollreset
+[history-state]: https://developer.mozilla.org/en-US/docs/Web/API/History/state
diff --git a/docs/hooks/use-submit.md b/docs/hooks/use-submit.md
index 5a897e0a3c..f21347d2d2 100644
--- a/docs/hooks/use-submit.md
+++ b/docs/hooks/use-submit.md
@@ -150,4 +150,7 @@ submit(null, {
;
```
+Because submissions are navigations, the options may also contain the other navigation related props from [`
+ );
+ },
+ },
+ {
+ path: "/action",
+ action: () => null,
+ Component() {
+ let state = useLocation().state;
+ return {JSON.stringify(state)}
;
+ },
+ },
+ ],
+ { window: testWindow }
+ );
+ let { container } = render();
+ expect(testWindow.history.state.usr).toBeUndefined();
+
+ fireEvent.click(screen.getByText("Submit"));
+ await waitFor(() => screen.getByText('{"key":"value"}'));
+ expect(getHtml(container)).toMatchInlineSnapshot(`
+ ""
+ `);
+ expect(testWindow.history.state.usr).toEqual({ key: "value" });
+ });
+
it("supports