toValue() Normalise Values, Refs and Getters
Last updated: 2026-10-22
toValue() Normalise Values, Refs and Getters
toValue() resolves a plain value, ref or getter into the current value — reusable functions can accept any of the three.
| Group | Reactivity: Utilities |
|---|---|
| Kind | API |
| Scope | Component |
| Vue Version | 3.3+ |
| SSR Support | Yes |
📝 Syntax
toValue(1) // 1
toValue(count) // count.value
toValue(() => count.value) // count.value (evaluated each call)
⚙️ Arguments
| source | A plain value, ref or getter function |
|---|
Returns:The resolved current value
▶ Example
Edit the code below and see the live result:
Output:
Shows '42'.
💡 Key Points
💡 Tip Use it in composable signatures so callers may pass values, refs or getters.
ℹ️ Note The getter form expresses a dependency that computed can track.
⚠️ Warning Available in 3.3+ only; older projects need manual isRef handling.
🏷️ Related Utilities
💡 Related Cases
More case studies coming soon.
📚 Related Tutorials
❓ FAQ
Q Difference from unref?
A toValue also evaluates getters on each call; unref only unwraps refs.
Q Why not require refs?
A It keeps composables flexible for static values, reactive state or computed logic.
Q Is it auto-unwrapped in templates?
A It is a runtime helper called in script logic, not template state.