import { useEffect, useRef, useState } from "react"; import { Button, Text, View } from "react-native"; import { DataNet } from "@sjs/sdk"; const CHANNEL = "demo.json.state"; export function StateSyncScreen({ apiKey }: { apiKey: string }) { const clientRef = useRef(null); const [mode, setMode] = useState("idle"); useEffect(() => { const client = new DataNet({ apiKey, clientId: "react-native-demo", deviceName: "React Native Demo", }); clientRef.current = client; client.subscribe(CHANNEL, (data) => { const next = data as { mode?: string }; if (next.mode) setMode(next.mode); }); void client.connect(); return () => client.disconnect(); }, [apiKey]); return ( React Native state sync Channel: {CHANNEL} Mode: {mode}