1. Home
  2. /
  3. Yew
  4. /
  5. Component with Timer

Component with Timer - Yew Typing CST Test

Loading…

Component with Timer — Yew Code

Updates state every second using IntervalService.

# yew/demo/timer.rs
use yew::prelude::*;
use gloo_timers::callback::Interval;

struct Model {
	current_time: String,
}

impl Component for Model {
	type Message = (); 
	type Properties = ();

	fn create(ctx: &Context<Self>) -> Self {
		let model = Model { current_time: "".into() };
		let link = ctx.link().clone();
		Interval::new(1000, move || link.send_message(())).forget();
		model
	}

	fn update(&mut self, ctx: &Context<Self>, _msg: Self::Message) -> bool {
		self.current_time = js_sys::Date::new_0().to_locale_time_string("en-US");
		true
	}

	fn view(&self, ctx: &Context<Self>) -> Html {
		html! { <p>{ &self.current_time }</p> }
	}
}

fn main() {
	yew::start_app::<Model>();
}

Yew Language Guide

Yew is a modern Rust framework for building client-side web applications using WebAssembly (Wasm), providing a reactive component-based architecture similar to React.

Primary Use Cases

  • ▸Single-page applications (SPA) in Rust
  • ▸Interactive dashboards and data visualization
  • ▸WebAssembly-based web games
  • ▸Frontend for Rust backend services
  • ▸High-performance, low-latency web UIs

Notable Features

  • ▸Component-based architecture with reusable components
  • ▸Supports reactive updates via message passing
  • ▸Virtual DOM for efficient rendering
  • ▸WebAssembly backend for fast execution
  • ▸Strong Rust type system ensures memory safety

Origin & Creator

Yew was created by Denis Kolodin in 2018 and has since evolved with community contributions into a robust Rust frontend framework.

Industrial Note

Yew is targeted at developers seeking high-performance web applications leveraging Rust's safety, concurrency, and memory efficiency while running in the browser.

More Yew Typing Exercises

Simple Yew ComponentYew Component with Button ClickYew Component with Input BindingYew Component with Conditional RenderingYew Component with LoopYew Component with Child ComponentYew Component with FormYew Component with Conditional and Loop Combined

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher