2016-06-07 2 views
0

Я пытаюсь создать новое приложение на основе телескопа-новы, используя реактивные компоненты ES6, переопределяющие nova-base-компоненты, но я не могу использовать компонент tab. Я получаю эту ошибкуMeteor + React + Semantic - компоненты JS

Uncaught TypeError:. (0, _jquery2.default) (...) вкладка не является функцией

<div className="ui top attached tabular menu" ref="tabsMenu"> 
    <div className="active item" data-tab="description">Description</div> 
    <div className="item" data-tab="elevator">Elevator Pitch</div> 
    <div className="item" data-tab="market">Market Analysis</div> 
    <div className="item" data-tab="value">Value Proposition</div> 
</div> 
<div className="ui bottom attached active tab segment" data-tab="description"> 
    <div dangerouslySetInnerHTML={createMarkup(cleanMarkup(idea.body))}> 
    </div> 
</div> 
<div className="ui bottom attached tab segment" data-tab="elevator"> 
    <p>elevator</p> 
</div> 
<div className="ui bottom attached tab segment" data-tab="market"> 
    <p>marketAnalysis</p> 
</div> 
<div className="ui bottom attached tab segment" data-tab="value"> 
    <p>valueProposition</p> 
</div> 

В componentDidMount инициализирую язычки с этим кодом

$('.ui.top.attached.tabular.menu .item').tab(); 

И я добавил semantic:ui-css к проекту, и в пакете я его использую (только на клиенте). Я также использовал компонент для компонента - так что события жизненного цикла запускаются.

Любые идеи о том, что я делаю неправильно?

+0

Я не знаете ли, что этот совет применим в этом конкретном случае, но я вообще пытался избежать использования каких-либо jQuery-плагинов с React и попробовать найти чистые компоненты React, которые делают то же самое, если это возможно? – Sacha

+0

Да, вы абсолютно правы. Но в этом случае мне было предложено использовать семантический ui и, AFAIK, он поставляется с jquery. Кажется, что есть проект, пытающийся сделать то же самое, что и с реакционной бутстрапом, но он не зрелый – bitIO

ответ

0

И, через пару часов, пытаясь исправить это, прежде чем отправлять вопрос здесь, я, наконец, понял, что JQuery должен быть использован с jQuery(...).tab() и не со знаком доллара $('...').tab()

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