Ant-design: [Feature Request] Export Props-Schnittstellendefinition in allen Komponentenindex.d.ts-Dateien

Erstellt am 23. Juni 2017  ·  8Kommentare  ·  Quelle: ant-design/ant-design

Welches Problem löst diese Funktion?

Wenn die Standard-Props-Oberfläche als öffentlich definiert ist, kann die Props-Definition beim Erstellen meiner eigenen benutzerdefinierten Version der Komponente wiederverwendet werden.

Wie sieht die vorgeschlagene API aus?

Wenn ich beispielsweise meine Anmeldekomponente erstelle, muss ich:

import { FormComponentProps } from 'antd/lib/form/Form'

class Login extends React.Component<{} & FormComponentProps, {}> {
  render() {
    // some render code
  }
}

Aber folgendes vielleicht besser:

import { FormComponentProps } from 'antd'

class Login extends React.Component<{} & FormComponentProps, {}> {
  render() {
    // some render code
  }
}

Mindestens:

import { FormComponentProps } from 'antd/lib/form'

class Login extends React.Component<{} & FormComponentProps, {}> {
  render() {
    // some render code
  }
}

Genau wie dieses TS-basierte UI-Paket: Blaupause

help wanted 🗣 Discussion

Hilfreichster Kommentar

Ich denke, der erste ist besser.

Die Wahl des zweiten Weges kann daran liegen, dass der erste auch Schnittstellen enthält. Diese Schnittstellen sind jedoch sehr nützlich, wenn Sie TypeScript verwenden. Diejenigen, die TS nicht verwenden, sehen sie einfach nicht.

Viele der in TS geschriebenen Frameworks setzen die Schnittstelle nach außen frei und finden keine Probleme.

Natürlich kann der zweite Weg die Bedürfnisse erfüllen. Der Zweck dieser AUSGABE besteht darin, den exponierten Ort der Schnittstelle zu vereinheitlichen . Die aktuelle Situation ist, dass der Speicherort der Schnittstelle im Ordner lib/[component name]/ nicht vorhersehbar ist.

Aber ich hoffe immer noch, dass der erste angenommen werden konnte, danke.

Alle 8 Kommentare

Ich finde folgendes gut genug:

import { FormComponentProps } from 'antd/lib/form'

class Login extends React.Component<{} & FormComponentProps, {}> {
  render() {
    // some render code
  }
}

Ich denke, der erste ist besser.

Die Wahl des zweiten Weges kann daran liegen, dass der erste auch Schnittstellen enthält. Diese Schnittstellen sind jedoch sehr nützlich, wenn Sie TypeScript verwenden. Diejenigen, die TS nicht verwenden, sehen sie einfach nicht.

Viele der in TS geschriebenen Frameworks setzen die Schnittstelle nach außen frei und finden keine Probleme.

Natürlich kann der zweite Weg die Bedürfnisse erfüllen. Der Zweck dieser AUSGABE besteht darin, den exponierten Ort der Schnittstelle zu vereinheitlichen . Die aktuelle Situation ist, dass der Speicherort der Schnittstelle im Ordner lib/[component name]/ nicht vorhersehbar ist.

Aber ich hoffe immer noch, dass der erste angenommen werden konnte, danke.

Hallo, ich versuche herauszufinden, warum es bei mir nicht funktioniert, aber ich habe diesen Fehler. Node_modules / antd / lib / form / index "'hat kein exportiertes Mitglied' FormComponentProps '.

Meine Problemumgehung war der Import von {FormComponentProps} aus 'antd / lib / form / Form'.

Was mache ich falsch?

@ DavidNorena

Meinen Sie damit, dass Sie Folgendes versuchen: import { FormComponentProps } from 'antd/lib/form , aber eine Fehlermeldung erhalten?

Natürlich ist es ein Fehler, weil FormComponentProps jetzt nicht in lib/form dir angezeigt wird. Deshalb reiche ich dieses Problem ein :)

@newraina ahhhh jetzt verstehe ich es! : D Entschuldigung, in der Zwischenzeit verwende ich den Import {FormComponentProps} aus 'antd / lib / form / Form'. in Ordnung ?

@ DavidNorena Ja

Sie können uns dabei helfen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen