Skip to content

[Bug]: hydration mismatch when having v-show="false" and style="display: <any>" #12162

@OrbisK

Description

@OrbisK

Vue version

3.5.12

Link to minimal reproduction

https://play.vuejs.org/#__SSR__eNp9kTFPwzAQhf/KyUuX0g4wRSkSoA4wAAJGLyG5tC6Obfkuaasq/52zq5YOqPLiu/fe6TvdQT2EMBt6VIUqqY4mMBByH+61M13wkeEAEVsYoY2+g4lYJ9qlV3tHDN/eW1hAW1lC7cr5cYakpWDsgq0YpQIoGzMADDe09tuFVimnFRDvLUrZGBLrvmgt7rTKAQBG4hydS1Z65fxiopoqJmFozWq2Ie9kgUMya1X7LhiL8S2wEUatCshK0ipr/fYl9zj2OD316zXWP//0NyQ4hXzeIxLGAbU6a1zFFfJRXn6+4k7+Z7HzTW/FfUX8QPK2T4xH22PvGsG+8GXa53wG41ZftNwxOjotlUCTc8x+reQ0T1dW/8O9nd3lnHajGn8B/wGq4g==

Steps to reproduce

  1. open link
  2. (ssr true)
  3. hydration mismactch

What is expected?

no mismatch

What is actually happening?

[Vue warn]: Hydration style mismatch on <div style=​"display:​ none;​">​ test ​​

  • rendered on server: style="display:flex;"

  • expected on client: style="display:flex;"
    Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.
    You should fix the source of the mismatch.
    at

  • rendered on server: style="display:flex;"

  • expected on client: style="display:flex;"
    is actually not a mismatch :)

System Info

-

Any additional comments?

i think this should not be a mismatch. v-show with display="style:xxx" should render the same on server and client

Metadata

Metadata

Assignees

No one assigned

    Labels

    🔨 p3-minor-bugPriority 3: this fixes a bug, but is an edge case that only affects very specific usage.has workaroundA workaround has been found to avoid the problemscope: ssr

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions