Skip to content

Commit 0dfb986

Browse files
committed
Revert "experimental_use(context) for server components and ssr (facebook#25226)"
This reverts commit 3613284. implements the experimental use(context) API for the server components (Flight) and SSR (Fizz) runtimes
1 parent 36aba8f commit 0dfb986

File tree

2 files changed

+3
-59
lines changed

2 files changed

+3
-59
lines changed

packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5215,54 +5215,6 @@ describe('ReactDOMFizzServer', () => {
52155215
expect(getVisibleChildren(container)).toEqual('ABC');
52165216
});
52175217

5218-
// @gate enableUseHook
5219-
it('basic use(context)', async () => {
5220-
const ContextA = React.createContext('default');
5221-
const ContextB = React.createContext('B');
5222-
const ServerContext = React.createServerContext(
5223-
'ServerContext',
5224-
'default',
5225-
);
5226-
function Client() {
5227-
return use(ContextA) + use(ContextB);
5228-
}
5229-
function ServerComponent() {
5230-
return use(ServerContext);
5231-
}
5232-
function Server() {
5233-
return (
5234-
<ServerContext.Provider value="C">
5235-
<ServerComponent />
5236-
</ServerContext.Provider>
5237-
);
5238-
}
5239-
function App() {
5240-
return (
5241-
<>
5242-
<ContextA.Provider value="A">
5243-
<Client />
5244-
</ContextA.Provider>
5245-
<Server />
5246-
</>
5247-
);
5248-
}
5249-
5250-
await act(async () => {
5251-
const {pipe} = renderToPipeableStream(<App />);
5252-
pipe(writable);
5253-
});
5254-
expect(getVisibleChildren(container)).toEqual(['AB', 'C']);
5255-
5256-
// Hydration uses a different renderer runtime (Fiber instead of Fizz).
5257-
// We reset _currentRenderer here to not trigger a warning about multiple
5258-
// renderers concurrently using these contexts
5259-
ContextA._currentRenderer = null;
5260-
ServerContext._currentRenderer = null;
5261-
ReactDOMClient.hydrateRoot(container, <App />);
5262-
expect(Scheduler).toFlushAndYield([]);
5263-
expect(getVisibleChildren(container)).toEqual(['AB', 'C']);
5264-
});
5265-
52665218
// @gate enableUseHook
52675219
it('use(promise) in multiple components', async () => {
52685220
const promiseA = Promise.resolve('A');

packages/react-server/src/ReactFizzHooks.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,7 @@ import {
4040
enableUseMemoCacheHook,
4141
} from 'shared/ReactFeatureFlags';
4242
import is from 'shared/objectIs';
43-
import {
44-
REACT_SERVER_CONTEXT_TYPE,
45-
REACT_CONTEXT_TYPE,
46-
REACT_MEMO_CACHE_SENTINEL,
47-
} from 'shared/ReactSymbols';
43+
import {REACT_MEMO_CACHE_SENTINEL} from 'shared/ReactSymbols';
4844

4945
type BasicStateAction<S> = (S => S) | S;
5046
type Dispatch<A> = A => void;
@@ -648,12 +644,8 @@ function use<T>(usable: Usable<T>): T {
648644
}
649645
}
650646
}
651-
} else if (
652-
usable.$$typeof === REACT_CONTEXT_TYPE ||
653-
usable.$$typeof === REACT_SERVER_CONTEXT_TYPE
654-
) {
655-
const context: ReactContext<T> = (usable: any);
656-
return readContext(context);
647+
} else {
648+
// TODO: Add support for Context
657649
}
658650
}
659651

0 commit comments

Comments
 (0)