2015-10-12 3 views
0

Я пытаюсь перенести компонент React, написанный вне Meteor, для запуска внутри Meteor. Проблема в том, что jQuery ($) не определен. Я полностью понимаю, что использование jQuery во многих случаях не требуется, и даже в Реактике он даже неодобрительно. При этом в настоящее время Meteor устанавливает jQuery по умолчанию. Возможность использовать jQuery для анимации поможет мне преодолеть ограничение React's ReactTransitionGroup и ReactCSSTransitionGroup. Я не могу просто добавить ссылку на jQuery CDN, потому что это приведет к загрузке jQuery дважды! Однажды из CDN и один раз в Метеор.Компонент Meteor + React - неспособный к ссылке jQuery

Моя проблема в том, что я не знаю, как получить доступ к jQuery от Meteor из компонента React.

Вот фрагмент одного из моих компонентов:

componentWillReceiveProps: function(nextProps) { 
    if (nextProps.slideDirection !== this.props.slideDirection) { 
     this.setState({ slideDirection: nextProps.slideDirection }) 
     var $el = $(this.getDOMNode()); 
     if (nextProps.slideDirection.trim() === 'down') { console.log('= down'); } else { console.log('!= down'); } 
     switch (nextProps.slideDirection.trim()) { 
      case 'up': 
       $el.slideUp('animationDuration: 400'); 
       break; 
      case 'down': 
       $el.slideDown('animationDuration: 400'); 
       break; 
      default: 

     } 
    } 
}, 

Я действительно боролся с этим все выходные. Я «действительно» хочу использовать jQuery в этом случае для эффекта анимации. Я пытаюсь оживить расширение высоты DIV наряду с видимостью основного текста. Это легко достигается с помощью слайдов jQuery и скольжения. Любая помощь высоко ценится!

+0

Вы используете 1.2.0.2? Я полагаю, вы уже добавили пакет 'jquery' и попробовали' $ .fn.jquery' в вашей консоли, верно? –

+0

Раду, см. Ответ ниже ... –

ответ

1

Это должно сработать. Убедитесь, что вы даже добавили jquery в свой проект.

$ meteor add jquery 
+0

Да, это правильно! Я предположил, что jQuery был связан с образцом Meteor (который есть, когда вы создаете свое приложение Meteor с «Meteor create». Но в этом примере приложения был удален jQuery. Добавление jquery вручную разрешило проблему. –

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