Skip to content

Commit 31e19df

Browse files
committed
refactor: createComponentInstance to call getCurrentInstance
1 parent 0169ec4 commit 31e19df

File tree

8 files changed

+25
-42
lines changed

8 files changed

+25
-42
lines changed

packages/runtime-vapor/__tests__/apiInject.spec.ts

+20-20
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ describe('api: provide/inject', () => {
2727
const Provider = define({
2828
setup() {
2929
provide('foo', 1)
30-
return createComponent(Middle, getCurrentInstance()!)
30+
return createComponent(Middle)
3131
},
3232
})
3333

3434
const Middle = {
3535
render() {
36-
return createComponent(Consumer, getCurrentInstance()!)
36+
return createComponent(Consumer)
3737
},
3838
}
3939

@@ -59,12 +59,12 @@ describe('api: provide/inject', () => {
5959
const Provider = define({
6060
setup() {
6161
provide(key, 1)
62-
return createComponent(Middle, getCurrentInstance()!)
62+
return createComponent(Middle)
6363
},
6464
})
6565

6666
const Middle = {
67-
render: () => createComponent(Consumer, getCurrentInstance()!),
67+
render: () => createComponent(Consumer),
6868
}
6969

7070
const Consumer = {
@@ -86,12 +86,12 @@ describe('api: provide/inject', () => {
8686
const Provider = define({
8787
setup() {
8888
provide('foo', 'foo')
89-
return createComponent(Middle, getCurrentInstance()!)
89+
return createComponent(Middle)
9090
},
9191
})
9292

9393
const Middle = {
94-
render: () => createComponent(Consumer, getCurrentInstance()!),
94+
render: () => createComponent(Consumer),
9595
}
9696

9797
const Consumer = {
@@ -120,7 +120,7 @@ describe('api: provide/inject', () => {
120120
setup() {
121121
provide('foo', 'foo')
122122
provide('bar', 'bar')
123-
return createComponent(ProviderTwo, getCurrentInstance()!)
123+
return createComponent(ProviderTwo)
124124
},
125125
})
126126

@@ -129,7 +129,7 @@ describe('api: provide/inject', () => {
129129
// override parent value
130130
provide('foo', 'fooOverride')
131131
provide('baz', 'baz')
132-
return createComponent(Consumer, getCurrentInstance()!)
132+
return createComponent(Consumer)
133133
},
134134
}
135135

@@ -156,12 +156,12 @@ describe('api: provide/inject', () => {
156156
const Provider = define({
157157
setup() {
158158
provide('count', count)
159-
return createComponent(Middle, getCurrentInstance()!)
159+
return createComponent(Middle)
160160
},
161161
})
162162

163163
const Middle = {
164-
render: () => createComponent(Consumer, getCurrentInstance()!),
164+
render: () => createComponent(Consumer),
165165
}
166166

167167
const Consumer = {
@@ -191,12 +191,12 @@ describe('api: provide/inject', () => {
191191
const Provider = define({
192192
setup() {
193193
provide('count', readonly(count))
194-
return createComponent(Middle, getCurrentInstance()!)
194+
return createComponent(Middle)
195195
},
196196
})
197197

198198
const Middle = {
199-
render: () => createComponent(Consumer, getCurrentInstance()!),
199+
render: () => createComponent(Consumer),
200200
}
201201

202202
const Consumer = {
@@ -232,12 +232,12 @@ describe('api: provide/inject', () => {
232232
const Provider = define({
233233
setup() {
234234
provide('state', rootState)
235-
return createComponent(Middle, getCurrentInstance()!)
235+
return createComponent(Middle)
236236
},
237237
})
238238

239239
const Middle = {
240-
render: () => createComponent(Consumer, getCurrentInstance()!),
240+
render: () => createComponent(Consumer),
241241
}
242242

243243
const Consumer = {
@@ -267,12 +267,12 @@ describe('api: provide/inject', () => {
267267
const Provider = define({
268268
setup() {
269269
provide('state', readonly(rootState))
270-
return createComponent(Middle, getCurrentInstance()!)
270+
return createComponent(Middle)
271271
},
272272
})
273273

274274
const Middle = {
275-
render: () => createComponent(Consumer, getCurrentInstance()!),
275+
render: () => createComponent(Consumer),
276276
}
277277

278278
const Consumer = {
@@ -305,12 +305,12 @@ describe('api: provide/inject', () => {
305305
it('should warn unfound', () => {
306306
const Provider = define({
307307
setup() {
308-
return createComponent(Middle, getCurrentInstance()!)
308+
return createComponent(Middle)
309309
},
310310
})
311311

312312
const Middle = {
313-
render: () => createComponent(Consumer, getCurrentInstance()!),
313+
render: () => createComponent(Consumer),
314314
}
315315

316316
const Consumer = {
@@ -333,12 +333,12 @@ describe('api: provide/inject', () => {
333333
it('should not warn when default value is undefined', () => {
334334
const Provider = define({
335335
setup() {
336-
return createComponent(Middle, getCurrentInstance()!)
336+
return createComponent(Middle)
337337
},
338338
})
339339

340340
const Middle = {
341-
render: () => createComponent(Consumer, getCurrentInstance()!),
341+
render: () => createComponent(Consumer),
342342
}
343343

344344
const Consumer = {

packages/runtime-vapor/__tests__/componentAttrs.spec.ts

-4
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ describe('attribute fallthrough', () => {
3434
render(_ctx: Record<string, any>) {
3535
return createComponent(
3636
Child,
37-
null,
3837
[
3938
{
4039
foo: () => _ctx.foo,
@@ -80,7 +79,6 @@ describe('attribute fallthrough', () => {
8079
render(_ctx: Record<string, any>) {
8180
return createComponent(
8281
Child,
83-
null,
8482
[
8583
{
8684
foo: () => _ctx.foo,
@@ -120,7 +118,6 @@ describe('attribute fallthrough', () => {
120118
render() {
121119
const n0 = createComponent(
122120
Grandson,
123-
null,
124121
[
125122
{
126123
'custom-attr': () => 'custom-attr',
@@ -141,7 +138,6 @@ describe('attribute fallthrough', () => {
141138
render(_ctx: Record<string, any>) {
142139
return createComponent(
143140
Child,
144-
null,
145141
[
146142
{
147143
foo: () => _ctx.foo,

packages/runtime-vapor/__tests__/componentProps.spec.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,6 @@ describe('component: props', () => {
240240
render(_ctx: Record<string, any>) {
241241
return createComponent(
242242
Child,
243-
null,
244243
{
245244
foo: () => _ctx.foo,
246245
id: () => _ctx.id,
@@ -409,9 +408,7 @@ describe('component: props', () => {
409408
}
410409

411410
define(() =>
412-
createComponent(Comp, null, [
413-
() => (passFoo.value ? { foo: () => 'ok' } : {}),
414-
]),
411+
createComponent(Comp, [() => (passFoo.value ? { foo: () => 'ok' } : {})]),
415412
).render()
416413

417414
expect(initialKeys).toMatchObject(['foo'])

packages/runtime-vapor/__tests__/dom/prop.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { getMetadata, recordPropMetadata } from '../../src/componentMetadata'
1818
let removeComponentInstance = NOOP
1919
beforeEach(() => {
2020
const reset = setCurrentInstance(
21-
createComponentInstance((() => {}) as any, null, {}),
21+
createComponentInstance((() => {}) as any, {}),
2222
)
2323
removeComponentInstance = () => {
2424
reset()

packages/runtime-vapor/src/apiCreateComponent.ts

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
type Component,
3-
type ComponentInternalInstance,
43
createComponentInstance,
54
currentInstance,
65
} from './component'
@@ -10,14 +9,12 @@ import { withAttrs } from './componentAttrs'
109

1110
export function createComponent(
1211
comp: Component,
13-
parent: ComponentInternalInstance | null,
1412
rawProps: RawProps | null = null,
1513
singleRoot: boolean = false,
1614
) {
1715
const current = currentInstance!
1816
const instance = createComponentInstance(
1917
comp,
20-
parent,
2118
singleRoot ? withAttrs(rawProps) : rawProps,
2219
)
2320
setupComponent(instance, singleRoot)

packages/runtime-vapor/src/apiCreateVaporApp.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ export function createVaporApp(
4141

4242
mount(rootContainer): any {
4343
if (!instance) {
44-
instance = createComponentInstance(
45-
rootComponent,
46-
null,
47-
rootProps,
48-
context,
49-
)
44+
instance = createComponentInstance(rootComponent, rootProps, context)
5045
setupComponent(instance)
5146
render(instance, rootContainer)
5247
return instance

packages/runtime-vapor/src/component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ const emptyAppContext = createAppContext()
149149
let uid = 0
150150
export function createComponentInstance(
151151
component: ObjectComponent | FunctionalComponent,
152-
parent: ComponentInternalInstance | null,
153152
rawProps: RawProps | null,
154153
// application root node only
155154
appContext: AppContext | null = null,
156155
): ComponentInternalInstance {
156+
const parent = getCurrentInstance()
157157
const _appContext =
158158
(parent ? parent.appContext : appContext) || emptyAppContext
159159

playground/src/props.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import {
33
createComponent,
44
defineComponent,
5-
getCurrentInstance,
65
on,
76
reactive,
87
ref,
@@ -34,7 +33,7 @@ export default defineComponent({
3433
on(n0, 'click', () => handleClick)
3534
renderEffect(() => setText(n0, count.value))
3635
/** @type {any} */
37-
const n1 = createComponent(child, getCurrentInstance(), [
36+
const n1 = createComponent(child, [
3837
{
3938
/* <Comp :count="count" /> */
4039
count: () => {
@@ -45,7 +44,6 @@ export default defineComponent({
4544
inlineDouble: () => count.value * 2,
4645
id: () => 'hello',
4746
},
48-
4947
() => props,
5048
])
5149
return [n0, n1]

0 commit comments

Comments
 (0)