Ant-design: [Запрос функции] Экспорт определения интерфейса Props во всех файлах компонента index.d.ts

Созданный на 23 июн. 2017  ·  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
  }
}

Так же, как этот UI-пакет на основе TS: blueprint

help wanted 🗣 Discussion

Самый полезный комментарий

Я думаю, что первый лучше.

Выбор второго способа может быть вызван тем, что первый из них также может иметь интерфейсы, но эти интерфейсы очень полезны при использовании TypeScript, те, кто не использует TS, просто их не видят.

Многие из фреймворков, написанных на TS, открывают интерфейс для внешних пользователей и не обнаруживают никаких проблем.

Конечно, второй способ может удовлетворить потребности. Целью данной ПРОБЛЕМЫ является унификация открытого расположения интерфейса . Текущая ситуация такова, что расположение интерфейса в папке lib/[component name]/ непредсказуемо.

Но я все еще надеюсь, что первое будет принято, спасибо.

Все 8 Комментарий

Думаю, достаточно следующего:

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

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

Я думаю, что первый лучше.

Выбор второго способа может быть вызван тем, что первый из них также может иметь интерфейсы, но эти интерфейсы очень полезны при использовании TypeScript, те, кто не использует TS, просто их не видят.

Многие из фреймворков, написанных на TS, открывают интерфейс для внешних пользователей и не обнаруживают никаких проблем.

Конечно, второй способ может удовлетворить потребности. Целью данной ПРОБЛЕМЫ является унификация открытого расположения интерфейса . Текущая ситуация такова, что расположение интерфейса в папке lib/[component name]/ непредсказуемо.

Но я все еще надеюсь, что первое будет принято, спасибо.

Привет, я пытаюсь понять, почему у меня не работает, но у меня эта ошибка node_modules / antd / lib / form / index "'не имеет экспортированного члена' FormComponentProps '.

моим обходным путем был импорт {FormComponentProps} из antd / lib / form / Form;

Что я делаю не так?

@DavidNorena

Вы имеете в виду, что пытаетесь это сделать: import { FormComponentProps } from 'antd/lib/form , но получаете ошибку?

конечно, это ошибка, потому что FormComponentProps сейчас не отображается в lib/form dir, поэтому я отправляю эту проблему :)

@newraina ахххх, теперь я понял! : D извините, а пока я буду использовать import {FormComponentProps} из antd / lib / form / Form; ОК ?

@DavidNorena Да

Вы можете нам в этом помочь.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

Orbyt picture Orbyt  ·  3Комментарии

longhuasishen picture longhuasishen  ·  3Комментарии

shivekkhurana picture shivekkhurana  ·  3Комментарии

xtznhzxdev picture xtznhzxdev  ·  3Комментарии

plandem picture plandem  ·  3Комментарии