facebook/react

ERR_ACCESSORS_NOT_SUPPORTED with V0.13.1 when using IE8

codeuniquely opened this issue · 4 comments

Using es5 Shim / Sham (v4.1.1) and V 0.13.1 of React always throws the error ERR_ACCESSORS_NOT_SUPPORTED at line 361 of es5Sham.

I'm also using react-router 0.13.2 (so if I set env==="production" ) it fails - I've raised a separate issue with them for that also

in env !=== production its :

  defineProperty [Line: 360, Col: 13], es5-sham.js
  defineWarningProperty [Line: 33, Col: 3], ReactElement.js
  defineMutationMembrane [Line: 75, Col: 7], ReactElement.js
  Anonymous function [Line: 146, Col: 3], ReactElement.js
  Anonymous function [Line: 1, Col: 1], ReactElement.js

in env == production the Call stack is:

  defineProperty [Line: 361, Col: 17], es5-sham.js
  defineProperties [Line: 391, Col: 17], es5-sham.js
  defineProperties [Line: 3, Col: 192], TestLocation.js        (react-router)
  Anonymous function [Line: 3, Col: 307], TestLocation.js  (react-router)
  Anonymous function [Line: 24, Col: 3], TestLocation.js    (react-router)
  Anonymous function [Line: 15, Col: 1], TestLocation.js    (react-router)
zpao commented

Hmm, we try/catch this with the expectation of it throwing in a sham environment. https://github.com/facebook/react/blob/0.13-stable/src/classic/element/ReactElement.js#L69-L81. So when we catch we just simply don't have "frozen" props.

And we don't do this at all in production. Not sure what exactly you're hitting here.

Yeah i see that now, Sorry, but it hard to get an handle on this. (I had an app working and i just spent all day stripping it down, before starting again) from absolute nothing to see what was happening.

When you run this in IE8 and you aren't in "env==='production' IE just reports "Exception thrown and not caught", and hangs with that stupid popup message box it has on the screen, unless you fully disable all debugging / error reporting in the browser completely.

Not really your fault I know but it does really sucks. :)

Libraries like react-router also die (actually before you even manage to route to App) so you'll see absolutely nothing in the browser at all (in any environment) - again not your fault, that's the router setting properties and calling define properties directly with a check for environment.

it just seems to fall between Shim, which could befit from knowing env !== production - but its a Shim and maybe passing a better value out rather than throwing and React - but again not something that you can really deal with.

Cheers

@codeuniquely It sounds like you're saying that development in IE8 sucks but that there isn't much we can do about it, is that correct? Is there an action item on our end, or should we close this one out? Or do we think there is still a React bug here?

There's not much we can do about it

Close this out

On 17 Apr 2015, at 21:05, Jim notifications@github.com wrote:

@codeuniquely It sounds like you're saying that development in IE8 sucks but that there isn't much we can do about it, is that correct? Is there an action item on our end, or should we close this one out?


Reply to this email directly or view it on GitHub.

This email has been scanned by Netintelligence
http://www.netintelligence.com/email