Lucifier129 / react-lite

An implementation of React v15.x that optimizes for small script size
MIT License
1.73k stars 100 forks source link

Cannot set property 'parentContext' of undefined #110

Open Dante-101 opened 7 years ago

Dante-101 commented 7 years ago

I am getting this error with react-lite. The app works fine with react and react-dom. Any suggestions what could be wrong?

Uncaught (in promise) TypeError: Cannot set property 'parentContext' of undefined
    at initVcomponent (react-lite.common.js:433)
    at initVnode (react-lite.common.js:52)
    at initVcomponent (react-lite.common.js:442)
    at initVnode (react-lite.common.js:52)
    at initVchildren (react-lite.common.js:190)
    at initVelem (react-lite.common.js:173)
    at initVnode (react-lite.common.js:49)
    at initVchildren (react-lite.common.js:190)
    at initVelem (react-lite.common.js:173)
    at initVnode (react-lite.common.js:49)
Lucifier129 commented 7 years ago

Try adding breakpoint at this line, and check whether vcomponent.type is valid or not.

Dante-101 commented 7 years ago

vcomponent.type is valid. It is set to a component of this external package - https://github.com/Pomax/react-onclickoutside

Here is the debug session screenshot

Lucifier129 commented 7 years ago

OK. Can you add a simple code example to reproduce this problem?

ChieveiT commented 7 years ago

I got the same exception a few days ago and I fixed it after adding "key" prop for and of antd. Maybe you can check whether there are some elements created by the same component and having the same parent but do not have "key" prop. "react-lite just follow the best practice of React."XD


I'm wrong, just forget the above comment...The exception still exists...I tried to traceback with chrome dev tools tonight, it shows that the code using createReactClass will trigger this exception, "$cache" prop in ReactComponent is initialized in constructor...However, ReactClassComponent.prototype used by createReactClass only mixin ReactComponent.prototype and never call the constructor of ReactComponent...I'm working on it, maybe I can give you a PR tomorrow. @Lucifier129

Lucifier129 commented 7 years ago

@ChieveiT Great!

drcmda commented 7 years ago

@Lucifier129 I have the same problem, it persisted for months, checked back today and still the same. Is there anything we can do to help it or at least is there an explanation of what's wrong?

Lucifier129 commented 7 years ago

@drcmda It seems like the constructor of super class was not invoked, so this.$cache is undefined, read parentContext property from undefined would throw error.

hskww commented 7 years ago

i has the same error: Uncaught TypeError: Cannot set property 'parentContext' of undefined at initVcomponent (react-lite.common.js:433)

beside,this page use react-router,and other pages(no router) work sucessfully

Bbooth4 commented 6 years ago

I have gotten the same error verbatim. The likely difference in my setup from others is that I am using electron. I am uncertain if this would impact react-lite in anyway?

Has a solution been reached for this issue or simply an explanation?