typescript - TypeError : React.createContext n'est pas une fonction avec ApolloContext et Jest
J'essaie de tester du code TypeScript avec Jest pour mon application TS+NextJS où j'utilise Apollo+GraphQL. Malheureusement, je reçois l'erreur
TypeError: React.createContext is not a function
À partir du module de nœud suivant :
getApolloContext (node_modules/@apollo/client/react/context/ApolloContext.js:7:25)Quand j'ai regardé cette erreur sur d'autres questions sur Stack Overflow, il est dit que la version de React est obsolète, mais ma version de React dans mon package.json est
"react": "^17.0.1",Donc, je ne suis pas sûr de ce qui pourrait causer ce problème. Il semble que, pour une raison quelconque, soit la vérification de type échoue, soit une ancienne version de React est utilisée dans ce module Node au lieu de celle du projet, ce qui ne semble pas correct.
Ce que j'ai essayé jusqu'à présent est :
Mise à jour de mes modules Node react et react-dom (ne fait rien)
Plutôt coincé sur ce qu'il faut faire après ça.
le code est ici :
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 })
Où withApollo est le code dans https://github.com/apollographql/apollo-client/issues/5089
J’exécute les tests avec jest --runInBand