An open API service indexing awesome lists of open source software.

https://github.com/italonascimento/lemni

A functional and reactive framework on top of React. Embrace asynchronicity!
https://github.com/italonascimento/lemni

functional react react-native reactive xstream

Last synced: 8 months ago
JSON representation

A functional and reactive framework on top of React. Embrace asynchronicity!

Awesome Lists containing this project

README

          

# Lemni

Lemni allows us to implement React components and aplications in a **functional and reactive** way, making it much more natural to deal with the asynchronicity of interfaces, as well as isolating side effects away from the actual implementation.

## Installation

You may install Lemni through npm or Yarn:

```bash
npm i @lemni/core

# or

yarn add @lemni/core
```

## Hello World

Lemni creates conventional React components, fully compatible with the entire React ecosystem, including **React Native**.

```typescript
import ReactDOM from 'react-dom'
import { lemni } from 'lemni'

const HelloWorld = lemni(
sources => ({
view: (viewArgs) =>


Hello World



})
)

ReactDOM.render(
,
document.getElementById('app')
)
```

## Basic Component

```typescript
import { lemni } from 'lemni'
import xs from 'xstream'

const Incrementer = lemni(sources => {
const onIncrement = xs.Stream.create()

return {
initialState: {
count: 0,
},

stateReducer: onIncrement.mapTo(
state => ({
count: state.count + 1,
})
),

view: ({ state, emitter }) => (

Count: {state.count}



Increment

)
}
})
```

## Docs

To better understand the above example and to see what else Lemni is capable of, head to the docs:

https://italonascimento.github.io/lemni/

## License

MIT