CSSTransitionGroup

时间:2015-10-06 09:45:35

标签: reactjs css-transitions

我们正在开发一个具有一些具有挑战性的动画要求的项目。我们正在尝试在CSS中制作动画,而不是让JS参与动画工作。例如,我们有以下组件(为简洁起见而简化):

    var mainMenu = React.createClass({
    mixins: [PureRenderMixin],
    render: function () {
        var _this = this;
        var currItem;
        var items = this.props.itemList.map(function (item) {
            if (!item.get('isOpen')) {
                currItem = <MainMenuClosed key={item.get('MenuItemId')}
                                           menuTypeId={item.get('MenuTypeId')}
                                           title={item.get('ItemTitle')}
                                           text={item.get('ItemText')}
                                           imageUrl={item.get('ImageId')}
                                           clickHandler={_this.props.closedClickHandler} />;
            } else {
                currItem = <MainMenuOpen menuTypeId={item.get('MenuTypeId')}
                     key={item.get('MenuItemId')}
                                         clickHandler={_this.props.openClickHandler}
                                         items={item.get('children')}
                                          />;
            }

            return (
                currItem
            );
        })
        return (
             <ReactCSSTransitionGroup component="div" className="row" transitionName="mainMenuItems">
                {items}
            </ReactCSSTransitionGroup>
        );
    }
});

当单击菜单项时,将调用一个操作,该操作从服务器获取一些内容并将其发送到商店。问题是,一旦重新渲染发生,离开组件就会淡出,例如,输入组件会同时淡入。我想让离开组件完成其动画序列,然后让进入的菜单项开始动画。是否有内置的方法来创建这样的序列?

0 个答案:

没有答案