Согласованность определений компонентов Office UI Fabric - PullRequest
0 голосов
/ 11 апреля 2019

(Отказ от ответственности: я спрашиваю здесь, так как он отвечает требованиям на вопрос, и их не следует публиковать на github, и у меня очень мало опыта работы с React)

Я создаю порт office-ui-fabric-response для Vue и добился действительно хороших результатов со всеми компонентами, которые используют функцию styled (например, Toggle). Но я заметил, что многие другие компоненты не следуют той же структуре. До сих пор я сталкивался с двумя вариантами:

export const Toggle: React.StatelessComponent<IToggleProps> = styled<IToggleProps, IToggleStyleProps, IToggleStyles>(
  ToggleBase,
  getStyles,
  undefined,
  { scope: 'Toggle' }
);
@customizable('SpinButton', ['theme', 'styles'], true)
export class SpinButton extends BaseComponent<ISpinButtonProps, ISpinButtonState> implements ISpinButton {
  ...
}

Во втором варианте отсутствует файл .base.tsx, но компонент определяется непосредственно в файле .tsx. Есть ли разница или причина того, почему они разные? Читая код styled и customizable, оба они, похоже, делают одно и то же.

1 Ответ

0 голосов
/ 11 апреля 2019

Fabric, как платформа с открытым исходным кодом, имеет элементы управления, которые были созданы в разное время. Кнопка Spin - это пример элемента управления, который был создан некоторое время назад и не был обновлен для использования нашего текущего подхода «стилей»

...