mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-15 09:34:19 +08:00

Issue #: resolves #25753 ---------- <!-- Please refer to our contributing documentation for any questions on submitting a pull request, or let us know here if you need any help: https://ionicframework.com/docs/building/contributing --> ## Pull request checklist Please check if your PR fulfills the following requirements: - [x] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been reviewed and added / updated if needed (for bug fixes / features) - Some docs updates need to be made in the `ionic-docs` repo, in a separate PR. See the [contributing guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation) for details. - [x] Build (`npm run build`) was run locally and any changes were pushed - [x] Lint (`npm run lint`) has passed locally and any fixes were made for failures ## Pull request type <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type, submit multiple pull requests if needed. --> Please check the type of change your PR introduces: - [x] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no api changes) - [ ] Build related changes - [ ] Documentation content changes - [ ] Other (please describe): ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When `IonNav` performs a pop operation (navigating to root, back, etc.) the views are not removed from the DOM. <!-- Issues are required for both bug fixes and features. --> ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `IonNav` removes pages from the DOM when they are popped (navigate back, navigate to root, etc.) - Memoized constructing React delegate (was reconstructing on each render) ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
React Test App
Getting Started
Setup
Make sure you are using the latest versions of node and npm. If you do not have these, download the installer for the LTS version of Node.js. This is the best way to also install npm.
Building Dependencies
Navigate to the core
, packages/react
and packages/react-router
directories and build each of them:
npm i
npm run build
Then, install dependencies from this directory for this test app:
npm i
Syncing Changes
When making changes to the React package, run the following from this directory to sync the changes:
npm run sync
Previewing App
To preview this app locally, run the following from this directory:
npm start
Running Tests
To run the e2e tests, run the following from this directory:
npm run build
npm run e2e