高级组件模式
VueIReact 支持各种高级组件模式,为你的应用程序设计提供灵活性。
泛型组件
tsx
function GenericComponent<T>(props: {
list: T[];
handleItemClick: (item: T) => void;
}) {
return () => <div>
{props.list.map((item) => <div onClick={() => props.handleItemClick(item)}>{item}</div>)}
</div>
}
暴露实例属性
tsx
function ExposeFeature(_: any, ctx: {
expose: {
name: string
}
}) {
const name = ref('ExposeFeature')
defineExpose(ctx, {
name
})
return () => <div>{name.value}</div>
}
使用插槽
默认插槽
tsx
function DefaultSlot(props: {
children: JSX.Element[]
}) {
return () => <div>{props.children}</div>
}
function App() {
return () => <DefaultSlot>
<div>Hello</div>
</DefaultSlot>
}
命名插槽
tsx
function NamedSlot(props: {
children: {
named: () => JSX.Element
}
}) {
return () => <div>{props.children.named()}</div>
}
function App() {
return () => <NamedSlot>
{
{
named: () => <div>Hello</div>,
}
}
</NamedSlot>
}
下一步
有关在现有项目中集成 VueIReact 的信息,请查看在现有项目中使用指南。