diff --git a/packages/react-reconciler/src/ReactFiberBeginWork.js b/packages/react-reconciler/src/ReactFiberBeginWork.js
index 36fe0dc1dec7d..6dfed8599f8b9 100644
--- a/packages/react-reconciler/src/ReactFiberBeginWork.js
+++ b/packages/react-reconciler/src/ReactFiberBeginWork.js
@@ -242,7 +242,6 @@ function updatePureComponent(
renderExpirationTime: ExpirationTime,
) {
const render = Component.render;
- const ref = workInProgress.ref;
if (
current !== null &&
@@ -253,7 +252,7 @@ function updatePureComponent(
// Default to shallow comparison
let compare = Component.compare;
compare = compare !== null ? compare : shallowEqual;
- if (workInProgress.ref === current.ref && compare(prevProps, nextProps)) {
+ if (compare(prevProps, nextProps)) {
return bailoutOnAlreadyFinishedWork(
current,
workInProgress,
@@ -268,10 +267,10 @@ function updatePureComponent(
if (__DEV__) {
ReactCurrentOwner.current = workInProgress;
ReactCurrentFiber.setCurrentPhase('render');
- nextChildren = render(nextProps, ref);
+ nextChildren = render(nextProps);
ReactCurrentFiber.setCurrentPhase(null);
} else {
- nextChildren = render(nextProps, ref);
+ nextChildren = render(nextProps);
}
// React DevTools reads this flag.
diff --git a/packages/react-reconciler/src/__tests__/ReactPure-test.internal.js b/packages/react-reconciler/src/__tests__/ReactPure-test.internal.js
index ca1bb36851641..e9744254bbd8c 100644
--- a/packages/react-reconciler/src/__tests__/ReactPure-test.internal.js
+++ b/packages/react-reconciler/src/__tests__/ReactPure-test.internal.js
@@ -39,10 +39,10 @@ describe('pure', () => {
// a lazy function component.
sharedTests('normal', (...args) => {
const Pure = React.pure(...args);
- function Indirection(props, ref) {
- return