Skip to content

3 - losing-reactivity #1691

Open
Open
@YuinS316

Description

@YuinS316
<script setup lang="ts">
import { reactive, toRefs } from "vue"

function useCount() {
  // const state = reactive({
  //   count: 0,
  // })

  const state = toRefs({
    count: 0,
  })

  function update(value: number) {
    state.count.value = value
  }

  return {
    state,
    update,
  }
}

// Ensure the destructured properties don't lose their reactivity
const {
  state: { count },
  update,
} = useCount()
</script>

<template>
  <div>
    <p>
      <span @click="update(count - 1)">-</span>
      {{ count }}
      <span @click="update(count + 1)">+</span>
    </p>
  </div>
</template>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions