typescript - TypeError: React.createContext is geen functie met ApolloContext en Jest
Ik probeer wat TypeScript-code te testen met Jest voor mijn TS+NextJS-app waar ik Apollo+GraphQL gebruik. Helaas krijg ik de foutmelding
TypeError: React.createContext is not a function
Van het volgende node-module:
getApolloContext (node_modules/@apollo/client/react/context/ApolloContext.js:7:25)Toen ik naar deze fout keek bij andere vragen op Stack Overflow, staat er dat de react-versie verouderd is, maar mijn react-versie in mijn package.json is
"react": "^17.0.1",Dus ik weet niet zeker wat dit probleem zou kunnen veroorzaken. Het lijkt erop dat om de een of andere reden ofwel de typecontrole faalt, of een oude versie van React wordt gebruikt in die node-module in plaats van de projectbrede versie, wat niet juist lijkt.
Wat ik tot nu toe geprobeerd heb is:
Mijn react- en react-dom-node-modules bijwerken (doet niets)
Best wel vastzitten over wat te doen daarna.
code is hier:
test.tsximport * 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.tsximport * as React from 'react';
import { withApollo } from 'apollo'
{...}
const DonePage: NextPage<{}> = () => {
return (
<>
{...}
</>
)
}
export default withApollo(DonePage, { ssr: false })
Waar withApollo de code is in https://github.com/apollographql/apollo-client/issues/5089
Ik voer de tests uit met jest --runInBand