se dá através de uma série de primitivas - useState, computed, createSignal, writable, … - Sempre que usamos estas primitivas para criar uma abstração reusável, dizemos que é um custom hook - Existem várias aplicações para eles, inclusive abstrair gerência de estado