Ant-design: [機能リクエスト]すべてのコンポーネントindex.d.tsファイルで小道具インターフェース定義をエクスポートします

作成日 2017年06月23日  ·  8コメント  ·  ソース: ant-design/ant-design

この機能はどのような問題を解決しますか?

標準のPropsインターフェースをパブリックとして定義すると、コンポーネントの独自のカスタムバージョンを作成するときにProps定義を再利用できます。

提案されたAPIはどのように見えますか?

たとえば、ログインコンポーネントを作成するときは、次のことを行う必要があります。

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

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

しかし、おそらく次の方が良いでしょう:

import { FormComponentProps } from 'antd'

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

少なくとも:

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

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

このTSベースのUIパッケージと同じように:ブループリント

help wanted 🗣 Discussion

最も参考になるコメント

最初のものの方がいいと思います。

2番目の方法を選択するのは、最初に公開されたものもインターフェイスになる可能性があるためですが、これらのインターフェイスはTypeScriptを使用する場合に非常に便利であり、TSを使用しない人は単にそれらを表示しません。

TSで記述されたフレームワークの多くは、インターフェイスを最も外側に公開し、問題を検出しません。

もちろん、2番目の方法でニーズを満たすことができます。 この問題の目的は、インターフェースの公開された場所を統一することです。 現在の状況では、 lib/[component name]/フォルダー内のインターフェイスの場所は予測できません。

しかし、私はまだ最初のものが採用されることを願っています、ありがとう。

全てのコメント8件

以下で十分だと思います。

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

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

最初のものの方がいいと思います。

2番目の方法を選択するのは、最初に公開されたものもインターフェイスになる可能性があるためですが、これらのインターフェイスはTypeScriptを使用する場合に非常に便利であり、TSを使用しない人は単にそれらを表示しません。

TSで記述されたフレームワークの多くは、インターフェイスを最も外側に公開し、問題を検出しません。

もちろん、2番目の方法でニーズを満たすことができます。 この問題の目的は、インターフェースの公開された場所を統一することです。 現在の状況では、 lib/[component name]/フォルダー内のインターフェイスの場所は予測できません。

しかし、私はまだ最初のものが採用されることを願っています、ありがとう。

こんにちは、私はなぜ私のために働いていないのか理解しようとしていますが、私はこのエラーがありますnode_modules / antd / lib / form / index "'にはエクスポートされたメンバー' FormComponentProps 'がありません。

私の回避策は、 'antd / lib / form / Form'から{FormComponentProps}をインポートすることでした。

何が間違っているのですか?

@DavidNorena

import { FormComponentProps } from 'antd/lib/formを試してみても、エラーが発生するということですか?

もちろん、これはエラーです。 FormComponentPropslib/formディレクトリに公開されていないため、この問題を送信します:)

@newraina ahhhh今私はそれを手に入れました! :D申し訳ありませんが、その間、import {FormComponentProps} from'antd / lib / form / Form 'を使用します。 OK ?

@DavidNorenaはい

あなたはこれのために私たちを助けることができます。

このページは役に立ちましたか?
0 / 5 - 0 評価