Skip to main content
Version: 0.21


What are Components?

Components are the building blocks of Yew. They manage an internal state and can render elements to the DOM. Components are created by implementing the Component trait for a type.

Writing Component's markup

Yew uses Virtual DOM to render elements to the DOM. The Virtual DOM tree can be constructed by using the html! macro. html! uses a syntax which is similar to HTML but is not the same. The rules are also much stricter. It also provides superpowers like conditional rendering and rendering of lists using iterators.

Passing data to a component

Yew components use props to communicate between parents and children. A parent component may pass any data as props to its children. Props are similar to HTML attributes but any Rust type can be passed as props.


For other than parent/child communication, use contexts