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

https://github.com/slavahatnuke/ireactivity-native-simple-list-example


https://github.com/slavahatnuke/ireactivity-native-simple-list-example

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

## iReactivity simple react native example
The main idea:

```javascript
import React, {Component} from 'react';

// native
import {
AppRegistry,
Text,
View,
Button
} from 'react-native';

// iReactivity binding functions
import {Provider, connect} from 'ireactivity';

const uid = () => Math.random().toString(35).slice(2, 8).toUpperCase();

// store, it's just an object.
const store = {
todos: [
{title: 'Todo #1', id: uid()},
{title: 'Todo #2', id: uid()}
]
};

const TodoView = ({todo, onRemove}) =>

{todo.title}

onRemove(todo)}
title={`[x]`}
color="#FF0000"
/>
;

const Todo = connect(TodoView, {
onRemove: (store) => (todo) => {
console.log('remove', todo.id);
store.todos = store.todos.filter((aTodo) => todo !== aTodo)
}
});

const TodosView = ({todos}) =>

{todos.map((todo) => )}
;

const Todos = connect(TodosView, {
todos: (store) => store.todos
});

const TodoPlusView = ({onClick}) =>

const TodoPlus = connect(TodoPlusView, {
onClick: (store) => () => {
let id = uid();
store.todos = [...store.todos, {title: `Todo #${id}`, id: id}]
}
});

const App = () =>



;

const AppRunner = () => ;
AppRegistry.registerComponent('ireactivityNativeSimpleListExample', () => AppRunner);
```

## How to start
- `npm install`
- `npm start`

## iReactivity
[https://www.npmjs.com/package/ireactivity](https://www.npmjs.com/package/ireactivity) - Simple React binding