Ist es möglich, Requisiten in untergeordnete Komponente zu übertragen, wo { ..this.props }
für sauberere Syntax verwendet wird, aber bestimmte Requisiten wie className
oder id
ausschließen?Transfer {..this.props}, aber bestimmte Ausnahmen ausschließen
6
A
Antwort
3
Wenn Sie nichts dagegen haben eine Drittanbieter-Bibliothek verwenden, können Sie auch lodash die omit
Funktion:
{ ..._.omit(this.props, ['className', 'id']) }
Key Vorteil: Im Gegensatz Vorschlag der madox2, Sie nicht verschmutzen Ihren Umfang mit beliebigen Variablennamen nur um zu vermeiden, bestimmte Requisiten an Kinderkomponenten zu übergeben. Zum Zeitpunkt der Erstellung dieser Antwort haben Sie es auch nicht mit experimentellen ES.next-Funktionen zu tun.
16
Sie können Destrukturierung verwenden diesen Job zu machen:
const { className, id, ...newProps } = this.props; // eslint-disable-line
// `newProps` variable does not contain `className` and `id` properties
Da diese Syntax ist derzeit ECMAScript Vorschlag (Rest/Spread-Eigenschaften) Sie müssen Code transpile diese Funktion aktivieren (zum Beispiel babel verwenden).
Verwandte Themen
- 1. Kann nicht bestimmte Ausnahmen
- 2. Ausnahmen für bestimmte Probleme
- 3. grep Exception aber ausschließen spezifische Ausnahme
- 4. wie Gtags bestimmte Unterverzeichnisse ausschließen
- 5. Ausschließen bestimmte Taxonomie von Abfrage
- 6. Typüberprüfung für bestimmte Dateien ausschließen
- 7. Bestimmte Ordner mit Gulp ausschließen
- 8. Bestimmte Ergebnisse von linq ausschließen
- 9. Lucene Index: Bestimmte Begriffe ausschließen
- 10. Regex übereinstimmen, aber ausschließen
- 11. aber ausschließen einige Kinder
- 12. htaccess 301 Redirect gesamte Seite, aber mit Ausnahmen
- 13. Farbe ändern, aber Text ausschließen
- 14. Regex Übereinstimmung, die bestimmte Muster ausschließen
- 15. git diff --stat bestimmte Dateien ausschließen
- 16. Wie bestimmte div aus jquery selector ausschließen?
- 17. grunt-bower-install: bestimmte Komponenten ausschließen
- 18. RubyMine: bestimmte Dateien von der Suche ausschließen
- 19. Bestimmte Dateien von 'git pull' ausschließen
- 20. Git-Submodule - bestimmte Dateien/Verzeichnisse ausschließen
- 21. JQuery .click - bestimmte Elemente in div ausschließen
- 22. Algolia - Wordpress - bestimmte Seiten aus Index ausschließen
- 23. einschließen oder ausschließen bestimmte Ordner aus Directory.GetDirectories()
- 24. C# Datetime-Range bestimmte Bereiche ausschließen
- 25. this.props Objekt in Redux
- 26. React - this.props sieht undefined
- 27. Modify Feign Protokoll Verhalten für bestimmte Ausnahmen
- 28. Fangen bestimmte Ausnahmen mit try ... außer
- 29. Unit Test für bestimmte Arten von Ausnahmen
- 30. Wie bestimmte Ausnahmen in Logback gefiltert werden
Das ist erstaunlich, aber gibt es eine einfache Möglichkeit, eslint nicht zu haben und dergleichen beschweren sich über eine unbenutzte Variablendeklaration mit diesem Muster (außer diese Regel zu deaktivieren)? – m90
@madox das ist gut, aber eine Art von mir erfordert, Requisiten manuell zu verarbeiten, wo wie ich die Vorteile der Weitergabe alle von ihnen und nur diejenigen, die ich nicht benötigen im Gegensatz zu einschließlich diejenigen, die ich brauche – Ilja
@ m90 benötigt Kommentar, der eslint für diese bestimmte Zeile deaktiviert – madox2