{String(state.resetScrollPosition)}
+{String(state?.preventScrollReset)}
- true + false
" `); fireEvent.click(screen.getByText("Link to Foo")); await waitFor(() => screen.getByText("Foo Heading")); - expect(getHtml(container.querySelector("#resetScrollPosition"))) + expect(getHtml(container.querySelector("#preventScrollReset"))) + .toMatchInlineSnapshot(` + "+ true +
" + `); + }); + + it("handles link navigations with preventScrollReset={true}", async () => { + let { container } = render( +{String(state?.preventScrollReset)}
+false
" `); + + fireEvent.click(screen.getByText("Link to Foo")); + await waitFor(() => screen.getByText("Foo Heading")); + expect(getHtml(container.querySelector("#preventScrollReset"))) + .toMatchInlineSnapshot(` + "+ true +
" + `); }); it("executes route actions/loaders on useSubmit navigations", async () => { diff --git a/packages/react-router-dom/index.tsx b/packages/react-router-dom/index.tsx index d559828824..258f624b3a 100644 --- a/packages/react-router-dom/index.tsx +++ b/packages/react-router-dom/index.tsx @@ -395,7 +395,7 @@ export interface LinkProps reloadDocument?: boolean; replace?: boolean; state?: any; - resetScroll?: boolean; + preventScrollReset?: boolean; relative?: RelativeRoutingType; to: To; } @@ -413,7 +413,7 @@ export const Link = React.forwardRef