Products

Reactive Counter Example

This example demonstrates how to create a simple reactive counter using LemonadeJS.

<html>
<script src="https://lemonadejs.com/v5/lemonade.js"></script>
<div id='root'></div>
<script>
let { state } = lemonade;
function Counter() {
    // Create a state object
    let count = state(0);

    // Update state methods
    const add = function() {
        count.value++;
    }

    const remove = function() {
        count.value--;
    }

    const reset = function() {
        count.value = 0;
    }

    return render => render`<div>
        <p>Count ${count}</p>
        <div>
            <input type="button" onclick="${add}" value="+" />
            <input type="button" onclick="${remove}" value="-" />
            <input type="button" onclick="${reset}" value="Reset" />
        </div>
    </div>`;
};
lemonade.render(Counter, document.getElementById('root'));
</script>
</html>
import { state } from 'lemonadejs';

export default function Counter() {
    const self = this;

    self.count = state(0);

    const add = () => {
        self.count++;
    };

    const remove = () => {
        self.count--;
    };

    const reset = () => {
        self.count = 0;
    };

    return render => render`
        <div>
            <p>Count: ${self.count}</p>
            <div>
                <input type="button" onclick=${add} value="+" />
                <input type="button" onclick=${remove} value="-" />
                <input type="button" onclick=${reset} value="Reset" />
            </div>
        </div>
    `;
}