• Create a persistent connection to COGS which can be accessed with useCogsConnection()

    Example:

    import manifest from './cogs-plugin-manifest.js';
    
    function MyComponent() {
      const cogsConnection = useCogsConnection();
      const numberOfPlayers = useCogsConfig(cogsConnection)['Number of players'];
    
      return 
    Players: {numberOfPlayers}
    ; } function App() { return ; }

    or with Typescript:

    import manifest from './cogs-plugin-manifest.js'; // Requires `"allowJs": true` in `tsconfig.json`

    function MyComponent() {
    const cogsConnection = useCogsConnection<typeof manifest>();
    const numberOfPlayers = useCogsConfig(cogsConnection)['Number of players'];

    return <div>Players: {numberOfPlayers}</div>;
    }

    function App() {
    return <CogsConnectionProvider manifest={manifest}>
    <MyComponent />
    <CogsConnectionProvider/>;
    }

    Type Parameters

    • Manifest extends CogsPluginManifest
    • DataT extends { [key: string]: unknown } = { [key: string]: unknown }

    Parameters

    • __namedParameters: {
          children: ReactNode;
          hostname?: string;
          initialClientState?: Partial<
              DistributeObject<
                  {
                      [Name in string]: TypeFromCogsValueType<
                          Extract<DeepMutable<NonNullable<(...)>[number]>, { name: Name }>["value"],
                      >
                  },
              >,
          >;
          initialDataStoreData?: DataT;
          manifest: Manifest;
          port?: number;
      }

    Returns ReactNode | null