Vue automatically tracks dependencies by watching which reactive properties a component or effect accesses during execution. When you create a reactive property using ref or reactive, Vue wraps it so it can detect when you read or write it. When an effect or component renders, Vue records all reactive properties accessed as dependencies. Later, if any of those properties change, Vue triggers the effect or component to re-run, updating the UI or logic. This process happens behind the scenes, so you only write your code naturally without manually listing dependencies. The example code shows a reactive count variable and an effect that logs it. When count.value changes, the effect runs again automatically.