frintjs/frint

Proposal: MountApp component

オープン

#433 opened on 2018/07/13

 (0 件のコメント) (1 件のリアクション) (0 人の担当者)JavaScript (37 件のフォーク)batch import
help wantedproposal

Repository metrics

Stars
 (746 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

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.

コントリビューターガイド