В чем разница между build, buildU и buildSpec в Scalajs-реагировать?
Может кто-нибудь, пожалуйста, объясните разницу между функциями build
, buildU
а также buildSpec
для компонентов React в scalajs-реагировать и когда использовать один поверх другого?
2 ответа
С https://github.com/japgolly/scalajs-react/blob/master/doc/USAGE.md
Вызов
build
(или жеbuildU
) и когда он скомпилируется, у вас будет компонент React. […] Если ваш тип реквизитаUnit
использоватьbuildU
вместо этого, чтобы иметь возможность создать экземпляр вашего компонента с необходимостью передать()
в качестве аргумента конструктора.
Что касается buildSpec
вы можете следить за типами, если вам интересно, но это не упоминается, потому что, как говорит @nafg выше, это низкоуровневый метод, который не имеет значения, если вы уже не знаете, что такое "спецификация" в мире React, и вы Вы делаете что-то сложное с этим. Что такое спецификация React, вы можете проверить код и / или прочитать о нем в документации по React. В противном случае, если вы просто хотите создать компоненты Scala React, вам нужно только следовать инструкциям и примерам и использовать build{,U}
,
Не уверен на 100%, но, похоже,
build
создает функцию компонента scala, которая принимает экземпляр вашего типа реквизита в качестве параметраbuildU
для того, когда ваш тип реквизитаUnit
(это то, что означает U), т. е. вам не нужен объект props, поэтому вы можете использовать компонент без предоставления объекта props.buildSpec
Я не совсем уверен, но он возвращает экземплярReactComponentSpec
который имеетjs.native
аннотации, поэтому я подозреваю, что это как-то дает низкоуровневый доступ к объекту React.