Riot.js is a tiny "React-like" micro-library. It is relatively easy to learn because of its simple syntax. While riot is small, it is complete and delivers a ton of functionality in its itty bitty footprint.
Every tag in Riot has a lifecycle. I'll explore the three hooks: mount, update, and unmount while adding an animation feature for an existing tag. Lifecycle hooks are important for setting up, tearing down, and keeping a tag's view up to date after external logic is run.
It's easy to repeat over a collection and render many elements. Riot works very similar to Angular and has various syntaxes for it's each attribute. We'll look at the typical syntax for arrays, a shortened syntax, and an object key/value syntax.