Comments (8)
Turns out that Object.create in NormalizedEventListener is actually causing some bugs, so we just changed that internally. We're still working out the kinks to our code sync process but that should be making it's way to master soon.
In the meantime, if having es5shim+sham on the site would help, we can make that happen.
from react.
I can't tell from your answer whether that means that es5-sham should be used and its presence can be relied upon, or if it should go away completely once the code sync happens.
Having the shims on the site might help. How have you been testing in IE8? (Also in general – I've been repeatedly running grunt build then using the examples to test but maybe there's some good way of loading React that doesn't require the explicit build step?)
from react.
es5-sham might be able to go away (I don't actually know all the polyfills we need and which live in shim vs sham). I know for sure we need something to completely support IE8. Even if we get rid of this Object.create we have some Array.isArray in there. We should document this better.
Our IE8 testing has been facebook.com :) In general though, if you're making internal changes then you'll need to rebuild to test. grunt build builds debug and minified builds - you can skip the minified step by just run grunt build:basic, might make that cycle a little faster. You could also run the automated tests in browser with grunt test --debug which should start a server which you can hit from any browser. This doesn't help the shim issue though, so probably won't be much use in IE8.
Having a no-build way to test would be smart. I bet we could maybe do it using requirejs or maybe a node server that just builds react.js on demand... but for now building is the only option.
from react.
FWIW grunt test builds just enough stuff to run the Jasmine specs, so it takes a lot less time than grunt build.
from react.
I made a quick attempt to use React with the only the necessary parts of es5-shim and it appears that Function.prototype.bind, Array.isArray, and Array.prototype.indexOf are the only needed functions. I wonder if it's worth including just those ~50 lines of code in React directly and claiming native IE8 support?
edit: Also Date.now(), but that can be replaced with +new Date without hurting anyone.
from react.
I suppose it's because Array.prototype methods like map or Function.prototype.bind are useful in render method. And IE8 is dying.
from react.
This can be closed now, right @zpao @spicyj ?
from react.
Yea, we talk about all the polyfills needed in the "Browser Suppport and Polyfills" (oh man clownshoes) section of http://facebook.github.io/react/docs/working-with-the-browser.html
from react.
Related Issues (20)
- Bug: ViewTransition onExit cleanup not called on unmount HOT 2
- Bug:
- [Compiler Bug]: React Compiler does not compile module-level 'use memo' but compiles function-level 'use memo' HOT 2
- Bug: `<link rel="preload" as="font" ...>` in RSC gets duplicated in SSR html
- [Compiler Bug]: eslint-plugin-react-hooks breaks the VS Code ESLint extension HOT 2
- [Compiler Bug]: false negative, compiler skips memoizing a variable that should be memoized
- [Compiler Bug]: constant gets memoized with a wrong dependency HOT 2
- [DevTools Bug]: react-hooks/set-state-in-effect misses setState in useEffect for anonymous component callbacks passed to HOFs HOT 4
- Bug: React does not recognize the `maskType` prop on a DOM element.
- [DevTools Bug] Cannot read properties of null (reading 'ownerDocument')
- Bug: HOT 2
- Bug: HOT 7
- [Compiler Bug]:
- [Compiler Bug]: react mutithread sync exception
- [DevTools Bug]: confused on prerender pages and resulting in high-cpu usage loop HOT 6
- [Compiler Bug]: React Compiler silently skips custom hooks whose only hook call is use()
- Bug: `startTransition` inside `popstate` shows Suspense fallback instead of previous UI
- Bug: React Compiler does not preserve HTML entity HOT 7
- Closed by author
- [Compiler Bug]: ref initialization using `=== null` doesn't work with impure functions HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
OpenClaw
Personal AI Assistant
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react.