frintjs/frint

Proposal: MountApp component

Open

#433 aperta il 13 lug 2018

Vedi su GitHub
 (0 commenti) (1 reazione) (0 assegnatari)JavaScript (37 fork)batch import
help wantedproposal

Metriche repository

Star
 (746 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Currently

We use getMountableComponent(app) function, to get a component which has the app inside React's context.

Proposal

We can have a MountApp component, with usage like:

import { MountApp } from 'frint-react';

const fooApp; // instance

function BarComponent() {
  // render a given app with instance
  return <MountApp app={fooApp}>;

  // render a given app by name
  return <MountApp name="FooAppName" />

  // render any component against an app
  return <MountApp 
    name="FooAppName" /* or app={fooApp} */
    render={() => <SomeComponent />} 
  />;
}

Further usage

In frint-react: The MountApp component can then be used by Region component and render function internally too.

getMountableComponent can be deprecated.

Benefits

We don't have to depend on placing a Region with a name to mount an app somewhere. We can benefit from directly rendering an App somewhere without expecting any other App to share that region.

Guida contributor