mirror of
https://github.com/zebrajr/react.git
synced 2026-01-15 12:15:22 +00:00
Currently, in a React 18 root, `act` only works if you mock the Scheduler package. This was because we didn't want to add additional checks at runtime. But now that the `act` testing API is dev-only, we can simplify its implementation. Now when an update is wrapped with `act`, React will bypass Scheduler entirely and push its tasks onto a special internal queue. Then, when the outermost `act` scope exists, we'll flush that queue. I also removed the "wrong act" warning, because the plan is to move `act` to an isomorphic entry point, simlar to `startTransition`. That's not directly related to this PR, but I didn't want to bother re-implementing that warning only to immediately remove it. I'll add the isomorphic API in a follow up. Note that the internal version of `act` that we use in our own tests still depends on mocking the Scheduler package, because it needs to work in production. I'm planning to move that implementation to a shared (internal) module, too.
23 lines
532 B
JavaScript
23 lines
532 B
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
export * from './index.js';
|
|
export {
|
|
createComponentSelector,
|
|
createHasPseudoClassSelector,
|
|
createRoleSelector,
|
|
createTestNameSelector,
|
|
createTextSelector,
|
|
getFindAllNodesFailureDescription,
|
|
findAllNodes,
|
|
findBoundingRects,
|
|
focusWithin,
|
|
observeVisibleRects,
|
|
} from 'react-reconciler/src/ReactFiberReconciler';
|