ReferenceError: h is not defined の倒しかた
2020/02/13 16:43:412020/02/15 01:21:49
例えば.tsx
export const MyComponent = tsx.component({
name: "MyComponent",
props: {
post: {
type: Object as () => { content: string },
required: true,
},
},
render(): VNode {
return (
<div>
...なんちゃら
{renderMyComponent(this.post.content)} // renderMyContent は (JSX.Element | undefined)[] を返す
</div>
)
}
render()
が render(h: CreateElement)
として変換されているからで、トップレベルだと暗黙的な変換で通るのだが、関数を経由する場合明示的に渡してやる必要がある。 index.tsx
import Vue, { VNode, CreateElement } from "vue"
export const MyComponent = tsx.component({
name: "MyComponent",
props: {
post: {
type: Object as () => { content: string },
required: true,
},
},
render(h: CreateElement): VNode {
return (
<div>
...なんちゃら
{renderMyComponent(this.post.content, h)} // h を受け取れるようにしてあげる
</div>
)
}
Generated from
ReferenceError: h is not defined の倒しかた