First of all: sorry for posting a boring IE11 issue 馃槶
After Updating to v9.2.1 our project stoped working on IE11. The pages didnt load as expected and the css wasn't applied correctly. So we went through the canary releases and got to the point, that the changes in v9.2.1-canary.2 cause the behaviour. More specificly the pullrequest "Fix hydration with custom _app and granular chunks #10144" file "packages/next/build/entries.ts" line 129.
import 'core-js/es7/object'
import 'core-js/es7/map'
import 'core-js/es7/array'
import 'core-js/es6'
import 'core-js/es7/symbol'
We have a rather complicated project with next-css etc. But to reproduce we used a local production build and opened the page in IE11. Before the described Change, everything worked as expected but didn't after the change. The first thing to notice was the css, that wasn't applied correctly and the parsing error on the console.
We changed the following code:
client[bundlePath] =
page === '/_app'
? [pageLoader, require.resolve('../client/router')]
: pageLoader
to:
client[bundlePath] = pageLoader
and the page worked again but I assume something else doesn't :). It looks like the require.resolve() could be the problem on IE11?
The page is displayed correctly as with the previous versions.
Before (good):
After (broken):
Please provide a full reproducible demo of the issue so that we can take a look. We run all Next.js production tests against multiple browsers including IE11.
just added the steps to reproduce 馃憤
It seems to be the following import: import 'core-js/es6'
I've experienced this too with the v9.2.1 update. Sometimes in IE11 we'll see objects are not valid as a React child (found: object with keys {$$typeof, type, key, ref, props, _owner, _store}).
, whereas other times it works fine.
Pinning the Next version to 9.2.0 fixes the issue.
+1 Having the same issue and stuck with Next 9.2.0
We are also having the same issue after upgrading to 9.2.1.
Below is full reproducible demo, including an image of the issue (can only been seen in console in the demo)
https://github.com/WillSelway/nextjs-ie11-issue
https://github.com/WillSelway/nextjs-ie11-issue/blob/master/nextjsIssue.PNG
Thank you for taking a look
@chrigu-ebert please don't spam the thread with +1. If you want to +1 an issue you can use GitHub emoji reactions and 馃憤 on the initial issue.
Any update on this issue? Polyfills not working with 9.2 is the only thing keeping us from upgrading. We would love to use the catch-all routes without a custom express server.
IE11 is supported out of the box, no polyfills required in next@canary
. Any polyfills that are required for app-features should be imported first thing in pages/_app.js
.
FWIW our issue was styled components, [email protected] and IE11.
https://github.com/styled-components/styled-components/issues/2190#issuecomment-569069439
We need the Symbol polyfill to load before React itself.
In 9.1 we can add polyfills before main.js
with-polyfills and that would load it before react. 9.2 onwards there is no guarantee that code runs before React.
@Timer Is there a path forward in 9.2 to load polyfills required for app-features before React loads?
FWIW our issue was styled components, [email protected] and IE11.
styled-components/styled-components#2190 (comment)
We need the Symbol polyfill to load before React itself.
In 9.1 we can add polyfills before
main.js
with-polyfills and that would load it before react. 9.2 onwards there is no guarantee that code runs before React.@Timer Is there a path forward in 9.2 to load polyfills required for app-features before React loads?
Correct, in our case issue is in custom Webpack entries configured in next.config.js . Investigating solution.
Next.js 9.3 (next@canary
) will load all polyfills for IE11 before any other code executes.
Next.js 9.3 (
next@canary
) will load all polyfills for IE11 before any other code executes.
Will this still require custom next.config.js code to load polyfills or it will load out of the box?
This happens out of the box.
Closing as stale. Please let us know if anyone is still having issues.
Most helpful comment
I've experienced this too with the v9.2.1 update. Sometimes in IE11 we'll see
objects are not valid as a React child (found: object with keys {$$typeof, type, key, ref, props, _owner, _store}).
, whereas other times it works fine.Pinning the Next version to 9.2.0 fixes the issue.