рдореЗрд░реЗ рдРрдк рдХреЛ рд░рд┐рдПрдХреНрд╢рди-рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ 3.4.4 рд╕реЗ 4.0.0 рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдИрдИ 11 рдореЗрдВ рдРрдк рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд - рдЬрдм рдореИрдВрдиреЗ рдирд╡реАрдирддрдо CRA рд╕реЗ рдПрдХ рдирдпрд╛ рдРрдк рдмрдирд╛рдпрд╛, рддреЛ рдореИрдВрдиреЗ react-app-polyfill
рдЬреЛрдбрд╝рд╛, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореЗрд░рд╛ package.json
рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
{
"name": "cra4",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@types/jest": "^26.0.15",
"@types/node": "^12.0.0",
"@types/react": "^16.9.53",
"@types/react-dom": "^16.9.8",
"react": "^17.0.1",
"react-app-polyfill": "2.0.0",
"react-dom": "^17.0.1",
"react-scripts": "4.0.0",
"typescript": "^4.0.3",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
">0.2%",
"not dead",
"not op_mini all"
]
}
}
рд╡рд╣реА рддреНрд░реБрдЯрд┐ рддрдм рднреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬрдм рдореИрдВ yarn build
рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ build/
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ CRA рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
(рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдиреЗ рдкрд░ рдпрд╣рд╛рдВ рдЕрдкрдирд╛ рдЙрддреНрддрд░ рд▓рд┐рдЦреЗрдВред)
Environment Info:
current version of create-react-app: 3.4.1
running from C:\Users\XXX\AppData\Local\Yarn\Data\global\node_modules\create-react-app
System:
OS: Windows 10 10.0.19041
CPU: (16) x64 AMD Ryzen 7 3700X 8-Core Processor
Binaries:
Node: 14.14.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.8 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: 44.19041.423.0
Internet Explorer: 11.0.19041.1
npmPackages:
react: ^17.0.1 => 17.0.1
react-dom: ^17.0.1 => 17.0.1
react-scripts: 4.0.0 => 4.0.0
npmGlobalPackages:
create-react-app: Not Found
yarn add react-app-polyfill
import 'react-app-polyfill/ie11'; import 'react-app-polyfill/stable';
рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ index.tsx
yarn start
рд╕рд╛рдЗрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдореИрдВ рдЪрдорддреНрдХрд╛рд░ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдПрдХ IE рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рдХреНрдд рдкреГрд╖реНрда рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИ)
(рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЪрд┐рдкрдХрд╛рдПрдБ рдФрд░ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдирд┐рд░реНрджреЗрд╢ред)
рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪрд░рдг рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╣рдо рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдЧрд╛рдпрдм рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдо рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рджрд┐рд╢рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдВрддрддрдГ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрдВред рд╣рдо рдЕрднреА рднреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрддрдГ рдХреЛрдИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!рдпрджрд┐ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ, рддреЛ browserslist
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ IE рдкрд░ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
( package.json
)ред
@ рдкрд┐рдпрд░реЗ-рдХрд░реЛ
рд╣рд╛рдВ, рдореИрдВрдиреЗ рд▓рд╛рдкрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдореБрджреНрджрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред
рдореИрдВ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ IE11 рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди react-app-polyfill
рд╕рд╛рде рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ :(
+, рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛
https://reactjs.org/docs/error-decoder.html/?invariant=31&args [] = рдСрдмреНрдЬреЗрдХреНрдЯ% 20with% 20keys% 20%% 7B% 24% 24typeof% 2C 20type% 2C% 20C% 2C% 20ref% 2C% 2C % 20props% 2C% 20_owner% 7 рджрд┐рди
рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди:
import 'react-app-polyfill/ie11';
// import 'react-app-polyfill/stable';
import 'core-js/stable';
import 'regenerator-runtime/runtime';
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реВрдВ
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ @ezBill рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж react-app-polyfill
рддрдп рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ @ezBill рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
+1
рдореЗрд░реЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рдмрдиреА рд╣реБрдИ рд╣реИред
рдореЗрд░реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ IE11 рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ:
import "react-app-polyfill/ie11";
import "react-app-polyfill/stable";
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЖрдпрд╛рдд рд╕реЗ рдКрдкрд░ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрди рдкреЙрд▓реАрдлрд╝рд┐рд▓реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЬрдЧрд╣ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреЙрд▓реАрдлрд╝рд┐рд▓ TextEncoder
рдЬреИрд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ рдЧреВрдврд╝ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ,
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ jsx рдЯреНрд░рд╛рдВрд╕реНрдлрд╝реЙрд░реНрдо рдпрд╣ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдкрдиреЗ рдореБрдЦреНрдп index.js рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ /** <strong i="5">@jsxRuntime</strong> classic */
рдЬреЛрдбрд╝рдХрд░ рдпрд╛ рддреЛ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╛ DISABLE_NEW_JSX_TRANSFORM=true
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛ рддреЛ рд╡реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдкреЙрд▓реАрдлрд┐рд▓ рдЖрдпрд╛рдд рдХрд░рдХреЗ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ import {jsx as _jsx} from 'react/jsx-runtime';
рд▓рд╛рдЗрди рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@msbarry рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдирдпрд╡рд╛рдж!
рд╣рдо рдЗрд╕реА рдореБрджреНрджреЗ рдкрд░ рднрд╛рдЧреЗред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдкрдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдмреЗрд╕ рдХреЛ рдирдП JSX рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдерд╛ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡рд╣ рдкреНрд░рд╛рд░реВрдк рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ React
рдЕрдм рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
рдЦреБрд╢рдЦрдмрд░реА! рд╣рдо рдирдП JSX рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рднреА рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ!
рд╣рдореЗрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ src/index.js
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛ред
/** <strong i="10">@jsxRuntime</strong> classic */
import 'react-app-polyfill/ie11'
// IE11 needs "jsxRuntime classic" for this initial file which means that "React" needs to be in scope
// https://github.com/facebook/create-react-app/issues/9906
import React from 'react'
рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЬреЛрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рд╣рдо рдпрд╣ рджреЗрдЦ рд╕рдХрддреЗ рдереЗ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рд╢рд╛рдпрдж рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рдЯрдХ рдЬрд╛рдПрдВрдЧреЗред
рдХреЗрд╡рд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрдбрд╝ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рдЙрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд░рд┐рдПрдХреНрдЯ 17 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдерд╛ :(
FWIW рд╣рдо index.ts
рдлрд╝рд╛рдЗрд▓ рдХреЛ init.ts
рдФрд░ main.tsx
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ init.ts
рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ main.tsx
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ ( рд░рд┐рдПрдХреНрдЯ рдХреЛрдб) рдФрд░ index.ts
рдХреЗрд╡рд▓ рджреЛрдиреЛрдВ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЗ рдмрд╛рдж рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЗ рдмрд╛рдж рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд╛рдордХрд░рдг рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдпрд╛рдд рдХреЗ рд╕реНрд╡рдд: рдЫрдБрдЯрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рднреА рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдореБрдЦреНрдп рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдПред
рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
IE11 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде
рддреНрд░реБрдЯрд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣рдореЗрдВ рдпрд╣рд╛рдБ рд▓рд╛рддрд╛ рд╣реИ
IE рд╕рдВрд╕реНрдХрд░рдг
рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рд╕реБрдкрд░ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ
npx create-react-app ie11app
yarn add react-app-polyfill
index.js
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ/** <strong i="23">@jsxRuntime</strong> classic */
import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';
import React from 'react';
import ReactDOM from 'react-dom';
ReactDOM.render(
<div>Come on</div>,
document.getElementById('root')
);
ie 11
browerslist
package.json
{
"name": "ie11app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^17.0.1",
"react-app-polyfill": "^2.0.0",
"react-dom": "^17.0.1",
"react-scripts": "4.0.0",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all",
"ie 11"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version",
"ie 11"
]
}
}
yarn start
Index.js рд╕реЗ import 'react-app-polyfill/stable';
рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдЖрдкрдХреЛ рдХреЗрд╡рд▓ import 'react-app-polyfill/ie11'
рдпрд╣ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рдЖрдк рдбрд┐рдмрдЧрд░ рдореЗрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ ES5 рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА IE11 рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ "ie >= 11"
рдЕрдкрдиреЗ рдореЗрдВ browserslist
рдХреЗ рдмрдЬрд╛рдп "ie 11"
ред рдпрд╣ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ, рдпрдХреАрди рдирд╣реАрдВ рддреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
@ Dan503 @pluma рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, "ie >= 11"
рдФрд░ import 'react-app-polyfill/stable';
рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХрд┐рд╕реНрдордд рдирд╣реАрдВред
рдХреНрдпрд╛ рдЖрдк рдЗрддрдиреЗ рджрдпрд╛рд▓реБ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдпрд╛ npx create-react-app ie11app
рдФрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ IE11 рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
"react-scripts": "^3.0.0"
IE 11
рдкрд░ "react": "^17.0.1",
рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд▓реЗрдХрд┐рди "react-scripts": "4.0.0"
рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ
рдореИрдВрдиреЗ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдЙрдкрд╛рдп рднреА рдЖрдЬрдорд╛рдПред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ react-scripts
рд╕реЗ 3.4.4
рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рд░рд╣рд╛ рдерд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
+, рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛
https://reactjs.org/docs/error-decoder.html/?invariant=31&args [] = рдСрдмреНрдЬреЗрдХреНрдЯ% 20with% 20keys% 20%% 7B% 24% 24typeof% 2C 20type% 2C% 20C% 2C% 20ref% 2C% 2C % 20props% 2C% 20_owner% 7 рджрд┐рди