Bug: [email protected] only detects english component names
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- javascript, react
Rechercherichtung
Beginne in packages/eslint-plugin-react-hooks/src/RulesOfHooks.js bei der in der Issue verlinkten Methode isComponentName und reproduziere dann den Lint-Fehler mit einer Komponente wie ÄndraVärde. Aktualisiere die Prüfung des Komponentennamens so, dass nicht-englische Großbuchstaben akzeptiert werden, und verifiziere, dass die reproduzierte Hook-Warnung nicht mehr auftritt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
React version: [email protected]
Steps To Reproduce
- Create a functional component with a name such as
ÄndraVärdethat starts with a non english upper case letter - Run the linter
The current behavior
Sample error:
23:20 error React Hook "useSelectedState" is called in function "ÄndraVärde" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use" react-hooks/rules-of-hooks
The expected behavior
The linting should allow non english component names, React does.
The problem
Version 5.0.0 included the changes made in #25162 which modified the following method:
https://github.com/facebook/react/blob/e1378902bbb322aa1fe1953780f4b2b5f80d26b1/packages/eslint-plugin-react-hooks/src/RulesOfHooks.js#L43-L50
This code only allows english upper case letters A-Z which is not enough.
Proposed solution
Use .toUpperCase() and compare the result:
function isComponentName(node) {
return node.type === 'Identifier' && node.name[0] == node.name[0].toUpperCase();
}
This should work with a lot more languages at least.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 251k
- Forks
- 51.4k
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 43
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus react/react
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
[quality] workflow-scripts guard reads test:unit:coverage as skipping the unit suite, blocking #632 Offenagent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
area-clientside-dartpad
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100