Skip to content

Commit f0a6196

Browse files
authored
fix(ssr): avoid computed being accidentally cached before server render (#9688)
close #5300
1 parent 8d74ca0 commit f0a6196

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

packages/server-renderer/__tests__/ssrComputed.spec.ts

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ test('computed reactivity during SSR', async () => {
3333
// In both cases we need to fetch data.
3434
if (!msg.value) await store.fetchData()
3535

36-
expect(msg.value).toBe('hello world')
3736
return () => h('div', null, msg.value + msg.value + msg.value)
3837
})
3938

packages/server-renderer/src/render.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,10 @@ function renderComponentSubTree(
144144
// perf: enable caching of computed getters during render
145145
// since there cannot be state mutations during render.
146146
for (const e of instance.scope.effects) {
147-
if (e.computed) e.computed._cacheable = true
147+
if (e.computed) {
148+
e.computed._dirty = true
149+
e.computed._cacheable = true
150+
}
148151
}
149152

150153
const ssrRender = instance.ssrRender || comp.ssrRender

0 commit comments

Comments
 (0)