frintjs/frint

Proposal: MountApp component

Open

#433 ouverte le 13 juil. 2018

Voir sur GitHub
 (0 commentaires) (1 réaction) (0 assignés)JavaScript (37 forks)batch import
help wantedproposal

Métriques du dépôt

Stars
 (746 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

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.

Guide contributeur