Bird
Raised Fist0
Vueframework~5 mins

Ref and reactive in Composition API in Vue - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is ref in Vue's Composition API?

ref creates a reactive reference to a simple value like a number, string, or boolean. It wraps the value so Vue can track changes and update the UI.

Click to reveal answer
beginner
How does reactive differ from ref?

reactive makes an entire object reactive, tracking changes to its properties, while ref is for single primitive values or objects wrapped in a reference.

Click to reveal answer
beginner
How do you access the value inside a ref?

You access or update the value inside a ref using the .value property, for example: count.value = 5.

Click to reveal answer
intermediate
Can you use reactive with arrays and objects?

Yes, reactive works with objects and arrays, making all nested properties reactive so Vue tracks changes deeply.

Click to reveal answer
intermediate
Why might you choose ref over reactive for a single value?

ref is simpler and clearer for single primitive values. It also works better with template syntax and when you want to track a single piece of data.

Click to reveal answer
Which Vue Composition API function creates a reactive object?
Areactive
Bref
Ccomputed
Dwatch
How do you update the value inside a ref variable named count?
Acount.update(newValue)
Bcount = newValue
Ccount.value = newValue
Dcount.set(newValue)
Which is true about reactive in Vue?
AIt only works with primitive values
BIt creates a reactive wrapper for objects and arrays
CIt requires manual updates to trigger reactivity
DIt cannot track nested properties
When should you prefer ref over reactive?
AFor large objects with many properties
BWhen you want to disable reactivity
CWhen you want to track arrays deeply
DFor single primitive values
What happens if you forget to use .value with a ref in your template?
AVue automatically unwraps <code>ref</code> in templates
BThe template will not update reactively
CThe value will update but not render
DVue will throw an error
Explain the difference between ref and reactive in Vue's Composition API.
Think about when you want to track one value versus many properties.
You got /4 concepts.
    Describe how you would make a number reactive and update it in a Vue component using Composition API.
    Remember the syntax: const count = ref(0); count.value = 5;
    You got /3 concepts.

      Practice

      (1/5)
      1. In Vue's Composition API, what is the main difference between ref and reactive?
      easy
      A. ref is used to create components, reactive is used to create directives.
      B. ref is only for arrays, reactive is only for strings.
      C. ref is for simple values accessed with .value, reactive is for objects and arrays accessed directly.
      D. ref and reactive are exactly the same and can be used interchangeably.

      Solution

      1. Step 1: Understand ref usage

        ref holds simple reactive values like numbers or strings and requires accessing the value with .value.
      2. Step 2: Understand reactive usage

        reactive wraps objects or arrays to make their properties reactive and accessed directly without .value.
      3. Final Answer:

        ref is for simple values accessed with .value, reactive is for objects and arrays accessed directly. -> Option C
      4. Quick Check:

        ref vs reactive difference = D [OK]
      Hint: Remember: ref = simple value with .value, reactive = object direct access [OK]
      Common Mistakes:
      • Thinking ref works directly on objects without .value
      • Confusing reactive as only for primitive values
      • Assuming ref and reactive are interchangeable
      2. Which of the following is the correct way to declare a reactive object in Vue 3 Composition API?
      easy
      A. const state = ref({ count: 0 })
      B. const state = reactive({ count: 0 })
      C. const state = reactive(0)
      D. const state = ref(0)

      Solution

      1. Step 1: Identify correct reactive syntax for objects

        reactive is used to wrap objects to make their properties reactive.
      2. Step 2: Check each option

        const state = ref({ count: 0 }) uses ref with an object, which is allowed but requires .value to access. const state = reactive({ count: 0 }) correctly uses reactive with an object. const state = reactive(0) uses reactive with a number, which is invalid. const state = ref(0) uses ref with a number, which is valid but not for objects.
      3. Final Answer:

        const state = reactive({ count: 0 }) -> Option B
      4. Quick Check:

        reactive object syntax = C [OK]
      Hint: Use reactive() for objects, ref() for primitives [OK]
      Common Mistakes:
      • Using reactive() on primitive values
      • Using ref() for objects without .value access
      • Confusing reactive and ref usage
      3. Given the code:
      import { ref, reactive } from 'vue';
      const count = ref(0);
      const state = reactive({ clicks: 0 });
      
      count.value++;
      state.clicks++;
      
      console.log(count.value, state.clicks);

      What will be logged to the console?
      medium
      A. 0 1
      B. 0 0
      C. 1 0
      D. 1 1

      Solution

      1. Step 1: Understand ref and reactive increments

        count is a ref holding 0, incremented by count.value++ to 1. state is reactive object with clicks 0, incremented by state.clicks++ to 1.
      2. Step 2: Check console.log output

        Logging count.value and state.clicks will print 1 1.
      3. Final Answer:

        1 1 -> Option D
      4. Quick Check:

        Increment ref and reactive values = A [OK]
      Hint: Increment ref with .value, reactive directly [OK]
      Common Mistakes:
      • Forgetting to use .value with ref
      • Assuming reactive needs .value
      • Mixing up initial values
      4. What is wrong with this Vue Composition API code?
      import { ref } from 'vue';
      const user = ref({ name: 'Alice' });
      user.name = 'Bob';
      medium
      A. You must use user.value.name to update the name property.
      B. ref cannot hold objects, use reactive instead.
      C. You should use user.value() to access the object.
      D. There is no error; the code works fine.

      Solution

      1. Step 1: Understand ref with objects

        ref wraps the object, so to access or update properties inside, you must use .value.
      2. Step 2: Identify the error in property update

        The code tries to update user.name directly, which is incorrect. It should be user.value.name.
      3. Final Answer:

        You must use user.value.name to update the name property. -> Option A
      4. Quick Check:

        Access ref object properties with .value = A [OK]
      Hint: Use .value to access or update ref object properties [OK]
      Common Mistakes:
      • Accessing ref object properties without .value
      • Confusing ref and reactive usage
      • Thinking ref cannot hold objects
      5. You want to create a reactive state for a form with fields name (string) and tags (array). You also want to track a simple counter for submissions. Which setup correctly uses ref and reactive together?
      hard
      A. const form = reactive({ name: '', tags: [] }); const submitCount = ref(0);
      B. const form = ref({ name: '', tags: [] }); const submitCount = reactive(0);
      C. const form = reactive(''); const submitCount = ref([]);
      D. const form = ref(''); const submitCount = reactive({ count: 0 });

      Solution

      1. Step 1: Identify correct usage for form object

        The form has multiple fields, so reactive is best to wrap the object with name and tags properties.
      2. Step 2: Identify correct usage for simple counter

        The submission count is a simple number, so ref is appropriate to track it reactively.
      3. Final Answer:

        const form = reactive({ name: '', tags: [] }); const submitCount = ref(0); -> Option A
      4. Quick Check:

        Use reactive for objects, ref for simple values = B [OK]
      Hint: Use reactive for objects/arrays, ref for simple values [OK]
      Common Mistakes:
      • Using ref for complex objects without .value
      • Using reactive on primitive values
      • Mixing up which data needs ref or reactive
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard