From fac0e6fb1ccd4558d9a5f2be0624857d96fdc476 Mon Sep 17 00:00:00 2001 From: Md Junaed Hossain <169046794+junaed-optimizely@users.noreply.github.com> Date: Mon, 18 May 2026 17:49:58 +0600 Subject: [PATCH] [FSSDK-12647] doc update --- README.md | 15 ++++++--------- docs/nextjs-integration.md | 13 +++++-------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 4f64b31..c2a1f4a 100644 --- a/README.md +++ b/README.md @@ -594,7 +594,7 @@ The React SDK supports server-side rendering (SSR). A pre-fetched datafile is re #### Per-request client -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. +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()`. ```tsx 'use client'; @@ -602,7 +602,6 @@ Create a client inside the component with a pre-fetched datafile. Use `useState` import { useState } from 'react'; import { createInstance, - createStaticProjectConfigManager, createPollingProjectConfigManager, createBatchEventProcessor, OptimizelyProvider, @@ -615,13 +614,11 @@ export default function Page({ datafile, userId }) { const [optimizely] = useState(() => createInstance({ - projectConfigManager: isServerSide - ? createStaticProjectConfigManager({ datafile }) - : createPollingProjectConfigManager({ - sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '', - datafile, - }), - eventProcessor: isServerSide ? undefined : createBatchEventProcessor(), + projectConfigManager: createPollingProjectConfigManager({ + sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '', + datafile, + }), + eventProcessor: createBatchEventProcessor(), defaultDecideOptions: isServerSide ? [OptimizelyDecideOption.DISABLE_DECISION_EVENT] : [], disposable: isServerSide, }) diff --git a/docs/nextjs-integration.md b/docs/nextjs-integration.md index 086db67..2b4b7cd 100644 --- a/docs/nextjs-integration.md +++ b/docs/nextjs-integration.md @@ -97,7 +97,6 @@ Since `OptimizelyProvider` uses React Context (a client-side feature), it must b import { OptimizelyProvider, createInstance, - createStaticProjectConfigManager, createPollingProjectConfigManager, createBatchEventProcessor, OptimizelyDecideOption, @@ -109,13 +108,11 @@ export function OptimizelyClientProvider({ children, datafile }: { children: Rea const [optimizely] = useState(() => createInstance({ - projectConfigManager: isServerSide - ? createStaticProjectConfigManager({ datafile }) - : createPollingProjectConfigManager({ - sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '', - datafile, - }), - eventProcessor: isServerSide ? undefined : createBatchEventProcessor(), + projectConfigManager: createPollingProjectConfigManager({ + sdkKey: process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || '', + datafile, + }), + eventProcessor: createBatchEventProcessor(), defaultDecideOptions: isServerSide ? [OptimizelyDecideOption.DISABLE_DECISION_EVENT] : [], disposable: isServerSide, })