我需要写一些特别的东西,把我的组件包装成悬念,我会把组件和后备props 作为特别的props 来传递.

我的特别之处:

export const withSuspense = ({ Component, Fallback }: any)=> {

  return (props:any) => {
    return (
      <Suspense fallback={<Fallback />}>
        <Component {...props} />
      </Suspense>
    );
  };
};

然后我需要在路径中渲染(Reaction-Router v6.15)

  <Route
    path="messages"
    element={withSuspense({MessagesPage,Loader})}
  />

出现错误Type '(props: any) => JSX.Element' is not assignable to type 'ReactNode'.

我试图将即席props 定义为ReactNodes,但它不起作用.有什么好主意吗?

推荐答案

"JSX.Element"不能赋值给React Functionalary中的"ReactNode"类型

在最新的react-router-dom中,element期望返回JSXReactNode的是ReactNode,而不是函数.

const Component = withSuspense({ MessagesPage, Loader });

<Route
  path="messages"
  element={<Component />}
/>

Typescript相关问答推荐

Typescript对每个属性具有约束的通用类型

如何正确修复TypScript 4.7到4.8升级中的TS 2345编译错误

为什么缩小封闭内部不适用于属性对象,但适用于声明的变量?

找不到带名称的管道''

当使用`type B = A`时,B的类型显示为A.为什么当`type B = A时显示为`any `|用A代替?

在使用Typescribe时,是否有一种方法可以推断映射类型的键?

基于键的值的打字动态类型;种类;

为什么我的Set-Cookie在我执行下一次请求后被擦除

无法从Chrome清除还原的初始状态数据

如何将泛型对象作为返回类型添加到类型脚本中

为什么我的导航在使用Typescript的React Native中不起作用?

为什么TypeScrip不能解析对象析构中的赋值?

Typescript将键数组映射到属性数组

Angular NG8001错误.组件只能在一个页面上工作,而不是在她的页面上工作

仅当定义了值时才按值筛选数组

记录的子类型<;字符串,X>;没有索引签名

如何使用 AWS CDK 扩展默认 ALB 控制器策略?

为什么 Typescript 无法正确推断数组元素的类型?

从 npm 切换到 pnpm 后出现Typescript 错误

当并非所有歧视值都已知时,如何缩小受歧视联盟的范围?