Please provide the following:
- SDK Version: 35
- Platforms(Android/iOS/web/all): All - error occurs on Nodejs on Ubuntu 18
I’m trying to render a react component which contains a flatlist and it’s blowing up with a very unuseful message. Does anyone here have any experience of debugging these sort of tests? It seems ‘this.props’ is never set?
update: I tried another component (SectionList). Same result, diffrent stack trace.
Line 441
constructor(props: Props<ItemT>) { super(props); this._checkProps(this.props);
Stack trace:
TypeError: Cannot read property ‘getItem’ of undefined
at FlatList._checkProps (node_modules/react-native/Libraries/Lists/FlatList.js:498:7)
at new FlatList (node_modules/react-native/Libraries/Lists/FlatList.js:443:10)
at constructClassInstance (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4103:18)
at updateClassComponent (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:8309:5)
at beginWork$1 (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10082:16)
at performUnitOfWork (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14708:12)
at workLoopSync (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14681:22)
at performSyncWorkOnRoot (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14380:11)
at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2063:24
at unstable_runWithPriority (node_modules/scheduler/cjs/scheduler.development.js:697:12)
package.json
"dependencies": {
"@expo/next-adapter": "^1.0.1",
"expo": "^35.0.0",
"next": "^9.1.4",
"randomstring": "^1.1.5",
"react": "^16.11.0",
"react-dom": "^16.11.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
"react-native-web": "^0.11.7"
},
"devDependencies": {
"@babel/core": "^7.7.5",
"@babel/plugin-proposal-class-properties": "^7.7.4",
"@babel/preset-env": "^7.7.5",
"@babel/preset-react": "^7.7.4",
"@babel/preset-typescript": "^7.7.4",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/react-native": "^5.0.2",
"@types/jest": "^24.0.23",
"@types/node": "^12.12.14",
"@types/react": "^16.9.11",
"@types/react-native": "^0.57.65",
"babel-preset-expo": "^7.1.0",
"expo-cli": "^3.4.1",
"jest": "^24.9.0",
"jest-expo": "^35.0.0",
"now": "^16.5.2",
"prisma": "^1.34.10",
"react-test-renderer": "^16.11.0",
"ts-jest": "^24.2.0",
"typescript": "^3.6.4"
}
jest.config.js
module.exports = {
roots: ['<rootDir>/components', '<rootDir>/pages'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
setupFilesAfterEnv: [
"@testing-library/jest-dom/extend-expect"
],
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
"preset": "jest-expo",
"transformIgnorePatterns": [
"node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|sentry-expo|native-base)"
]
}