如何在tsx中使用Suspense组件
来源:3-20 Suspense - 异步请求好帮手第二部分
B1ackout
2021-03-03
Suspense组件需要return一个promise或者return 一个对象,无法使用tsx,只能用.vue文件,但是在tsx中引入如何使用呢?我在tsx中这样无法使用,包裹了一层div还是有警告 slots expect a single root node.
<Suspense>
<template {...{ "v-slot": "default" }}>
<div>{Async}</div>
</template>
<template {...{ "v-slot": "fallback" }}>
<div>loading</div>
</template>
</Suspense>
写回答
1回答
-
同学你好 你tsx 中 slots 的用法写错了,它的 slots 是不能这样写的,应该写成这样。
const slots = { default: () => [<div><AsyncShow/></div>], fallback: () => [<div>loading</div>] } return () => <div class="hello"> <Suspense> {slots} </Suspense> </div>
文档在这里:https://github.com/vuejs/jsx-next#slot
经尝试可行
122021-05-13
相似问题