Proposal: Access to `app` instance synchronously
- Dominant language
- JavaScript
- Stars
- 756
- Forks
- 33
- PR merge metrics
- No merged PRs in 30d
Description
## Currently
Components can only access the `app` instance via `observe` HoC, which also involves RxJS for streaming props:
```js
import React from 'react';
import { observe } from 'frint-react';
function MyComponent() {
return
}
export default observe(function (app, parentProps$) {
return props$;
})(MyComponent);
```
## Proposal
Not everyone needs to work with streaming props, and may only want to be able to access the `app` instance (which has the providers), and carry on with regular React lifecycle operations.
To achieve that, we can extend `frint-react`:
### 1: `withApp` function
```js
import React from 'react';
import { withApp } from 'frint-react';
function MyComponent() {
return
}
export withApp((app, props) => );
```
### 2: `WithApp` component with render prop
This may not be necessary. Just `withApp` function alone should be enough.
```js
import React from 'react';
import { WithApp } from 'frint-react';
export default function MyComponent() {
return (
{
(app, props) =>
}
);
}
```
Contributor guide
Assessment
This issue has not been assessed yet.