unistore connector to lit and uhtml (and any tagged template library).
- Todo - A TodoMVC app using neverland.
- Tunes - A Peepcode's Backbone.js Music Player reimplemented in lighterhtml.
- TunesLit - A Peepcode's Backbone.js Music Player reimplemented in lit-html.
import createStore from 'unistore';
import connectTo from 'unistore-lit';
export const store = createStore({
list: [
{ id: 1, text: 'Do the thing!' },
{ id: 2, text: 'Do another thing!' },
],
});
export const connect = connectTo(store);
import { connect } from './store';
const mapStateToProps = (state) => ({
myList: state.list,
});
export const App = connect(mapStateToProps)(
({ myList }) => html`
<ul>
${myList.map((item) => html`<li>${item.id} - ${item.text}</li>`)}
</ul>
`
);
import { render } from 'lit'; // or 'uhtml'
import { store } from './store';
import { App } from './app';
const renderApp = () => render(App(), document.body);
renderApp() && store.subscribe(renderApp);