javascript - ESLint pogreška: 'default' je ograničeno za korištenje kao izvezeno ime
Dobivam ovu eslint pogrešku u datoteci index.js:
'default' je zabranjeno koristiti kao izvezeni naziv no-restricted-exports
stranica/index.js
export { default } from './test';
stranica/test.jsx
import React from 'react';
const Test = () => {
return <div>Test</div>;
};
export default Test;
routes.js
import React from 'react';
import { Switch, Route } from 'react-router-dom';
const testPage = React.lazy(() => import('./page'));
function Routes() {
return (
<Switch>
<Route path="/" exact component={testPage} />
</Switch>
);
}
export default Routes;
.eslintrc.json
{
"env": {
"browser": true,
"es2021": true
},
"extends": ["plugin:react/recommended", "airbnb"],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["react"],
"rules": {
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never"
}
],
"react/jsx-filename-extension": [
1,
{
"extensions": [".js", ".jsx"]
}
]
},
"settings": {
"import/extensions": [".js", ".jsx"],
"import/resolver": {
"node": {
"extensions": [".js", ".jsx"]
}
}
}
}
Koji bi bio ispravan način da se to riješi, bez onemogućavanja toga?
Odgovor #1
export { default as Test } from './test';
ako se koristi gornje, tada morate napraviti imenovani uvoz umjesto zadani uvoz ovako
import { Test } from './pathToTestFolder'
ovo nije pogrešno, ali da biste i dalje koristili zadani uvoz, morate test izvesti kao zadano. To možete učiniti
page/index.jsimport Test from './test'
export default Test
sada možete koristiti zadani uvoz ovako
routes.js
import Test from './pathToTestFolder'
ili prema vašoj datoteci rute
const testPage = React.lazy(() => import('./page'));
Odgovor #2
Ne možete izvesti default jer je to rezervirana riječ. Možete zamijeniti liniju sa:
export { default as Test } from './test';
