forked from optimizely/fullstack-labs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserverSide.tsx
More file actions
executable file
·41 lines (36 loc) · 1.16 KB
/
Copy pathserverSide.tsx
File metadata and controls
executable file
·41 lines (36 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import * as React from 'react'
import * as ReactDOMServer from 'react-dom/server'
import * as optimizelySDK from '@optimizely/react-sdk'
import {
OptimizelyProvider,
OptimizelyFeature,
OptimizelyExperiment,
OptimizelyVariation,
} from '@optimizely/react-sdk'
const fetch = require('node-fetch')
async function main() {
const resp = await fetch(
'https://cdn.optimizely.com/datafiles/BsSyVRsUbE3ExgGCJ9w1to.json',
)
const datafile = await resp.json()
const optimizely = optimizelySDK.createInstance({
datafile,
})
const output = ReactDOMServer.renderToString(
<OptimizelyProvider optimizely={optimizely} userId="user1" isServerSide={true}>
<OptimizelyFeature feature="feature1">
{featureEnabled => (featureEnabled ? <p>enabled</p> : <p>disabled</p>)}
</OptimizelyFeature>
<OptimizelyExperiment experiment="abtest1">
<OptimizelyVariation variation="var1">
<p>variation 1</p>
</OptimizelyVariation>
<OptimizelyVariation default>
<p>default variation</p>
</OptimizelyVariation>
</OptimizelyExperiment>
</OptimizelyProvider>,
)
console.log('output', output)
}
main()