Краткий справочник

Шпаргалка по Riot.js

Краткое руководство по Riot.js: легковесная компонентная библиотека, пользовательские теги, выражения, жизненный цикл и состояние.

· Опубликовано

Riot.js — элегантная и легковесная компонентная UI-библиотека с виртуальным DOM и практически нулевым объемом бойлерплейта.

Определение компонента (my-component.riot)

<user-card>
  <div class="card">
    <h3>{ state.name }</h3>
    <p>Role: { props.role }</p>
    <button onclick="{ handleIncrement }">Likes: { state.likes }</button>
  </div>

  <script>
    export default {
      onBeforeMount(props, state) {
        this.state = {
          name: props.initialName || 'Anonymous',
          likes: 0
        };
      },
      handleIncrement() {
        this.update({
          likes: this.state.likes + 1
        });
      }
    }
  </script>
</user-card>

События жизненного цикла

Метод Момент срабатывания
onBeforeMount(props, state) До монтирования компонента в DOM
onMounted(props, state) После прикрепления компонента к DOM
onBeforeUpdate(props, state) Перед повторным рендером при изменении состояния
onUpdated(props, state) После обновления DOM компонента
onBeforeUnmount(props, state) Прямо перед уничтожением компонента
onUnmounted(props, state) После полного удаления компонента из DOM

Циклы и условия

<!-- Условия -->
<p if="{ state.isLoggedIn }">С возвращением!</p>
<button if="{ !state.isLoggedIn }">Войти</button>

<!-- Циклы -->
<ul>
  <li each="{ item in state.items }">
    { item.title }
  </li>
</ul>

Ссылки и документация

Связанные темы