【问题标题】:Types of property 'children' are incompatible -MockedProvider属性“孩子”的类型不兼容 -MockedProvider
【发布时间】:2020-12-05 22:55:23
【问题描述】:
test('check if home renders correctly', () => {


  const { getByText } = render( <MockedProvider  mocks={mocks} addTypename={false}> <Home/> </MockedProvider>);

});

我在 MockedProvider 下面有一条红线,带有错误消息

 Types of property 'children' are incompatible.
     Type '(string | Element)[]' is not assignable to type 'ReactElement<any, string | ((props: any) => ReactElement<any, string
| ... | (new (props: any) => Component<any, any, any>)> | null) | (new
 (props: any) => Component<any, any, any>)> | ... 7 more ... |
 undefined'.

【问题讨论】:

    标签: reactjs typescript graphql react-apollo apollo-client


    【解决方案1】:

    看起来这是 Apollo 的类型签名的问题。它应该允许 ReactNode,因为它是 ReactElement 的子集。一种解决方法是将子项的类型显式转换为 ReactElement。

    const { getByText } = render( <MockedProvider  mocks={mocks} addTypename={false}> <Home/> as ReactElement </MockedProvider>);
    

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 2018-11-21
      相关资源
      最近更新 更多