typescript - TypeError: React.createContext nie je funkcia s ApolloContext a Jest


Snažím sa otestovať niekoľko kódov v TypeScripte pomocou Jest pre moju aplikáciu TS+NextJS, kde používam Apollo+GraphQL. Bohužiaľ, dostávam chybu

TypeError: React.createContext is not a function

Z nasledujúceho uzlového modulu:

getApolloContext (node_modules/@apollo/client/react/context/ApolloContext.js:7:25)

Keď som sa pozrel na túto chybu pri iných otázkach na Stack Overflow, hovorí sa, že verzia Reactu je zastaraná, ale moja verzia Reactu v mojom súbore package.json je

"react": "^17.0.1",

Takže si nie som istý, čo by mohlo spôsobovať tento problém. Zdá sa, že z nejakého dôvodu buď zlyháva kontrola typu, alebo sa v tom node module používa stará verzia React namiesto projektu celej verzie, čo sa nezdá byť správne.

Čo som zatiaľ vyskúšal, je:

Aktualizujem svoje moduly node react a react-dom (nerobí to nič)

Celkom uviazol v tom, čo robiť okrem toho.

kód je tu:

test.tsx
import * as React from 'react';
import { render } from '@testing-library/react'
import DonePage from '../pages/done'

describe('Pages', () => {
  describe('Index', () => {
    it('Pages render', function testCases() {
        render(<DonePage apolloClient={{}} apolloState={{}}/>)
    })
  })
})

export {}
page.tsx
import * as React from 'react';
import { withApollo } from 'apollo'
{...}

const DonePage: NextPage<{}> = () => {
  return (
    <>
        {...}
    </>
  )
}

export default withApollo(DonePage, { ssr: false })

Kde withApollo je kód na https://github.com/apollographql/apollo-client/issues/5089

Spúšťam testy s jest --runInBand