Skip to content

Commit fac0e6f

Browse files
[FSSDK-12647] doc update
1 parent 13ca919 commit fac0e6f

2 files changed

Lines changed: 11 additions & 17 deletions

File tree

README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -594,15 +594,14 @@ The React SDK supports server-side rendering (SSR). A pre-fetched datafile is re
594594
595595
#### Per-request client
596596
597-
Create a client inside the component with a pre-fetched datafile. Use `useState` with a lazy initializer to create the instance once. On the server, use `createStaticProjectConfigManager` with `disposable: true` so the instance can be garbage collected without explicitly calling `close()`. On the client, use `createPollingProjectConfigManager` to keep the datafile up to date.
597+
Create a client inside the component with a pre-fetched datafile. Use `useState` with a lazy initializer to create the instance once. Pass the datafile for immediate readiness during server rendering, and set `disposable: true` on the server so the instance can be garbage collected without explicitly calling `close()`.
598598
599599
```tsx
600600
'use client';
601601

602602
import { useState } from 'react';
603603
import {
604604
createInstance,
605-
createStaticProjectConfigManager,
606605
createPollingProjectConfigManager,
607606
createBatchEventProcessor,
608607
OptimizelyProvider,
@@ -615,13 +614,11 @@ export default function Page({ datafile, userId }) {
615614

616615
const [optimizely] = useState(() =>
617616
createInstance({
618-
projectConfigManager: isServerSide
619-
? createStaticProjectConfigManager({ datafile })
620-
: createPollingProjectConfigManager({
621-
sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '',
622-
datafile,
623-
}),
624-
eventProcessor: isServerSide ? undefined : createBatchEventProcessor(),
617+
projectConfigManager: createPollingProjectConfigManager({
618+
sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '',
619+
datafile,
620+
}),
621+
eventProcessor: createBatchEventProcessor(),
625622
defaultDecideOptions: isServerSide ? [OptimizelyDecideOption.DISABLE_DECISION_EVENT] : [],
626623
disposable: isServerSide,
627624
})

docs/nextjs-integration.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ Since `OptimizelyProvider` uses React Context (a client-side feature), it must b
9797
import {
9898
OptimizelyProvider,
9999
createInstance,
100-
createStaticProjectConfigManager,
101100
createPollingProjectConfigManager,
102101
createBatchEventProcessor,
103102
OptimizelyDecideOption,
@@ -109,13 +108,11 @@ export function OptimizelyClientProvider({ children, datafile }: { children: Rea
109108

110109
const [optimizely] = useState(() =>
111110
createInstance({
112-
projectConfigManager: isServerSide
113-
? createStaticProjectConfigManager({ datafile })
114-
: createPollingProjectConfigManager({
115-
sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '',
116-
datafile,
117-
}),
118-
eventProcessor: isServerSide ? undefined : createBatchEventProcessor(),
111+
projectConfigManager: createPollingProjectConfigManager({
112+
sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '',
113+
datafile,
114+
}),
115+
eventProcessor: createBatchEventProcessor(),
119116
defaultDecideOptions: isServerSide ? [OptimizelyDecideOption.DISABLE_DECISION_EVENT] : [],
120117
disposable: isServerSide,
121118
})

0 commit comments

Comments
 (0)