omi

Web Components Framework - Web组件框架

OTHER License

Downloads
8.7K
Stars
13K
Committers
15

Bot releases are hidden (Show)

omi - react hooks like support

Published by dntzhang almost 6 years ago

import { define, render } from 'omi'

define('my-counter', function() {
  const [count, setCount] = this.use({
    data: 0,
    effect: function() {
      document.title = `The num is ${this.data}.`
    }
  })

  const [items, setItems] = this.use({
    data: [{ text: 'Omi' }],
    effect: function() {
      console.log(`The items count is ${this.data.length}.`)
    }
  })

  return (
    <div>
      <button onClick={() => setCount(count - 1)}>-</button>
      <span>{count}</span>
      <button onClick={() => setCount(count + 1)}>+</button>

      <ul>
        {items.map(item => {
          return <li>{item.text}</li>
        })}
      </ul>
      <button onClick={() => setItems([...items, { text: 'new item' }])}>
        add
      </button>
      <button onClick={() => setItems([])}>empty</button>
    </div>
  )
})

render(<my-counter />, 'body')
omi - Observe elements are defined in a cleaner way

Published by dntzhang almost 6 years ago

import { render, WeElement, define } from 'omi'

define('my-counter', class extends WeElement {
    static observe = true
    
    data = {
      count: 1
    }

    sub = () => {
      this.data.count--
    }

    add = () => {
      this.data.count++
    }

    render() {
      return (
        <div>
          <button onClick={this.sub}>-</button>
          <span>{this.data.count}</span>
          <button onClick={this.add}>+</button>
        </div>
      )
    }
  })

render(<my-counter />, 'body')
omi -

Published by dntzhang almost 6 years ago

  • fix props.children
  • supports getHost method
  • supports cloneElement method
omi -

Published by dntzhang almost 6 years ago

omi -

Published by dntzhang almost 6 years ago

omi -

Published by dntzhang almost 6 years ago

omi -

Published by dntzhang about 6 years ago

  • Support multi store
omi -

Published by dntzhang about 6 years ago

Package Rankings
Top 1.45% on Npmjs.org
Top 3.63% on Proxy.golang.org