Как объединить состояния из двух композиционных функций?

Как объединить состояния из двух композиционных функций? Я читал документы и не нашел примеров?

function useFeature1() {
  let state = reactive({
    todo: '',
    todolist: [],
  })
  return {
    state
  }
}

function useFeature2() {
  let state = reactive({
    items: []
  })
  return {
    state
  }
}

2 ответа

Я только что понял, что нет смысла объединять состояния. Наверное, лучше просто последовательно называть состояния. Как mainStat, stateWithFeature и так далее.

...

export default {
  setup() {
    const mergedState = { ...useFeature1(), ...useFeature2() }

    // do stuff with merged     
  }
}

function useFeature1() {
  const state = reactive({
    todo: '',
    todolist: [],
  })

  return toRefs(state)
}

function useFeature2() {
  const items = ref([])

  return { items }
}

Но почему? Чтобы получить доступ к реактивным данным в шаблоне, вы должны вернуть объект в настройках - слияние не требуется.

Другие вопросы по тегам