(Отказ от ответственности: я спрашиваю здесь, так как он отвечает требованиям на вопрос, и их не следует публиковать на 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
, оба они, похоже, делают одно и то же.