Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Vue mounting error

Aberta
#519 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
react, typescript
Domínio
frontend

Direção de pesquisa

Reproduce the first-open failure with the shown v-dialog and seam-device-details example, then inspect the mounting timing between the Vue modal and the React component. Done means the component renders correctly when the modal is opened the first time, without the v-if and $nextTick workaround, and the React invariant 409 error is gone.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug seam components
  • seamapi/react v1.41.0
  • Device IDs: 598a5a28-e314-4864-9b5d-3aba353b8587, 86483ac1-ba59-452c-8c0e-60d611928d73

Some components that are displayed correctly on our app fail to be displayed in a modal (In the default slot of a v-dialog https://v2.vuetifyjs.com/en/api/v-dialog/ ) with the following error in console:

https://legacy.reactjs.org/docs/error-decoder.html/?invariant=409

Image

This error appears when the modal is opened.

If I close the modal and re-open it, the component is displayed correctly the second time.

Code:

<v-dialog :value="!!value">
	<seam-device-details
	  :client-session-token="token"
	  :device-id="value"
	/>
<v-dialog>
Workaround

The workaround we found for now is to wrap the seam component in an element conditionally rendered (v-if) on an internal ready variable that is set to true soon after the modal is rendered.

The following code does not work if we remove the delay this.$nextTick and set the this.ready variable immediately.

This is not super clean but it works, so I removed the “Blocking” tag on this issue

  watch: {
    value (val) {
      if (val && !this.ready) this.$nextTick(() => { this.ready = true })
    },
  },

value is the prop set to the deviceId to enable the modal, and set to null to close the modal

https://www.notion.so/f2c3194e9f654046b652a1b833534a8c?v=fd2b298eeb4d42d1b48f6adcbb56b90a&p=e7bb4aa34006499887257d380fd30c3a&pm=s

Linguagem predominante
TypeScript
Estrelas
10
Forks
3
Merge médio
2h 51min
PRs com merge (30d)
1

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

  • Sem Dockerfile nem arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de seamapi/react

Todas as issues de seamapi/react

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.