Meteor + React组件 - 无法引用jQuery

时间:2015-10-12 18:16:09

标签: jquery meteor reactjs

我正在尝试迁移一个在Meteor之外编写的React组件,以便在Meteor中运行。我遇到的问题是没有定义jQuery($)。我完全理解在很多情况下使用jQuery并不是必需的,甚至在React中也不赞成。话虽这么说,Meteor目前默认安装jQuery。能够使用jQuery动画将帮助我克服React的ReactTransitionGroup和ReactCSSTransitionGroup组件的限制。我不能简单地添加一个到jQuery CDN的链接,因为这会导致jQuery被加载两次!一次来自CDN,一次来自Meteor。

我的问题是我不知道如何从React组件中访问Meteor的jQuery。

以下是我的某个组件的摘录:

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的slideup和slidingown可以很容易地实现这一点。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

这应该有效。确保你甚至在项目中添加了jquery。

$ meteor add jquery