Sections
  • Home
  • Learning paths
  • Quizzes
  • Challenges
  • Tips
Challenge Image
Intermediate

Vue 3 - Components

Build Tabs with Dynamic Components

Practice dynamic components and KeepAlive by building a tabbed settings view.

dynamic components
KeepAlive
v-show
Challenge Image
Intermediate

Vue 3 - Components

Communicate Changes with Props and Emits

Practice how a component receives a value through props and requests changes with emits.

props
emits
v-model
Challenge Image
Intermediate

Vue 3 - Components

Share a Theme with Provide and Inject

Practice providing a reactive ref from an ancestor and injecting it into a descendant.

provide / inject
Challenge Image
Intermediate

Vue 3 - Components

Compose a Panel with Slots

Practice defining slots in a reusable component and providing their content from the parent.

slots
named slots
Challenge Image
Basic

Vue 3 - Components

Split a User Directory

Practice separating responsibilities between a container and a presentational component.

props
Challenge Image
Intermediate

Vue 3 - Composables

Abstract Product Loading

Create a clear API for loading products through a replaceable dependency.

composables
ref
dependency injection
Challenge Image
Intermediate

Vue 3 - Composables

Build a Filter with Flexible Inputs

Filter tasks from values, refs, or getters without losing reactive tracking.

MaybeRefOrGetter
toValue
computed
Challenge Image
Intermediate

Vue 3 - Composables

Register a Keyboard Shortcut

Practice binding a keyboard shortcut to the consuming component's lifecycle.

composables
onMounted
onUnmounted
Challenge Image
Intermediate

Vue 3 - Composables

Share a Reading List

Practice synchronizing multiple consumers through a composable with module state.

composables
ref
readonly
Challenge Image
Basic

Vue 3 - Composables

Extract Panel Logic

Practice encapsulating reactive state and actions inside your first composable.

composables
ref
Challenge Image
Intermediate

Vue 3 - Ecosystem

React to a Route Parameter

Render the correct profile and update it when Vue Router's dynamic parameter changes.

Vue Router
useRoute
computed
Challenge Image
Intermediate

Vue 3 - Ecosystem

Share a Cart with Pinia

Build a Pinia store and share its reactive data between a catalog and the cart summary.

Pinia
defineStore
storeToRefs
Challenge Image
Basic

Vue 3 - Reactivity

Filter Users with computed

Practice deriving filtered UI state with computed instead of manually updating a second value.

computed
ref
Challenge Image
Intermediate

Vue 3 - Reactivity

Clean Up Resources with onUnmounted

Practice starting external effects when a component mounts and cleaning them up when it unmounts.

onMounted
onUnmounted
Challenge Image
Basic

Vue 3 - Reactivity

Counter State with ref

Practice creating, displaying, and updating reactive primitive state with ref.

ref
Challenge Image
Intermediate

Vue 3 - Reactivity

Log Changes with watch

Practice using watch to react to input changes and record events.

watch
ref
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build a Component Runtime

Prepare and run component instances without implementing a DOM renderer yet.

component instance
setup
props and emits
provide/inject
lifecycle
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build Derived State and Watchers

Build cached values and watchers on top of an effect system with a scheduler.

computed
watch
watchEffect
watcher cleanup
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build a Reactive Effect

Build a reduced model that connects reactive properties with their dependent effects.

reactive
reactive effect
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build Reactive Primitives

Build multiple forms of state on top of one dependency tracking system.

reactive
ref
readonly
toRef
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build a VNode Renderer

Turn VNode trees into an object host and preserve their identity between renders.

VNode
render function
renderer
patching
keyed diff
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build a Template Compiler

Parse a reduced template grammar and generate a render function that creates VNodes.

template compiler
render function
VNode
Challenge Image
Advanced

Vue 3 - Vue in Depth

Build an Update Scheduler

Batch reactive jobs and run them through pre, update, and post phases.

scheduler
batching
job queue
watcher flush
nextTick
  • Home
  • Learning paths
  • Quizzes
  • Challenges
  • Tips