mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Synchronously flush the transition lane scheduled in a popstate event (#26025)
Summary: <!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory. Before submitting a pull request, please make sure the following is done: 1. Fork [the repository](https://github.com/facebook/react) and create your branch from `main`. 2. Run `yarn` in the repository root. 3. If you've fixed a bug or added code that should be tested, add tests! 4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development. 5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`. 6. If you need a debugger, run `yarn debug-test --watch TestName`, open `chrome://inspect`, and press "Inspect". 7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`). 8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files. 9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`). 10. If you haven't already, complete the CLA. Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html --> ## Summary Browsers restore state like forms and scroll position right after the popstate event. To make sure the page work as expected on back or forward button, we need to flush transitions scheduled in a popstate synchronously, and only yields if it suspends. This PR adds a new HostConfig method to check if `window.event === 'popstate'`, and `scheduleMicrotask` if a transition is scheduled in a `PopStateEvent`. ## How did you test this change? yarn test DiffTrain build for commit https://github.com/facebook/react/commit/d121c67004a2e6b0bb5d341843663ef213f64863. Reviewed By: kassens Differential Revision: D45145742 Pulled By: sammy-SC fbshipit-source-id: 196fe3539ee8588a31012d6af86a5ce0cd7fc973
This commit is contained in:
committed by
Facebook GitHub Bot
parent
8f0307b124
commit
7f495a3cf2
@@ -1 +1 @@
|
||||
7b0642bb989ec659c6c9891ea16daa0420caab4d
|
||||
d121c67004a2e6b0bb5d341843663ef213f64863
|
||||
|
||||
Reference in New Issue
Block a user