首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactCSSTransitionGroup不添加类

ReactCSSTransitionGroup不添加类
EN

Stack Overflow用户
提问于 2017-11-05 06:02:20
回答 2查看 672关注 0票数 0

我正在尝试将动画添加到使用ajax请求加载的文章列表的每个列表项中。这是我的文章列表组件,但是ReactCSSTransitionGroup元素对应用它的项没有任何影响:它不添加类。

代码语言:javascript
复制
import React from 'react';
import { ListGroup, ListGroupItem, ListGroupItemHeading, ListGroupItemText } from 'reactstrap';
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';

export default ({
  articles
}) => {
  return (
    <div className="col-md-8 col-10 mx-auto">
      <ListGroup className="results">
        {articles.map((article, idx) => {
          return (
            <ReactCSSTransitionGroup
              transitionName="article"
              transitionEnterTimeout={500}
              transitionLeaveTimeout={300}>
              <ListGroupItem key={idx}>
                <ListGroupItemHeading>
                  <a target="_blank" href={`https://wikipedia.org/wiki/${article.title}`}>
                    {article.title}
                  </a>
                </ListGroupItemHeading>
                <ListGroupItemText dangerouslySetInnerHTML={{__html: article.snippet}}>
                </ListGroupItemText>
              </ListGroupItem>
            </ReactCSSTransitionGroup>
          );
        })}
      </ListGroup>
    </div>
  );
};

这快把我逼疯了,我做的每件事都是对的,就是不会有任何效果。

EN

回答 2

Stack Overflow用户

发布于 2017-11-05 13:21:48

这里有一个有效的here示例。

如果要在初始安装时设置动画,则需要transitionAppear

在你的代码中,每一项都是一个转换组,示例中将列表作为一个组,所以这可能是可行的:

代码语言:javascript
复制
import React from 'react';
import { ListGroup, ListGroupItem, ListGroupItemHeading, ListGroupItemText } from 'reactstrap';
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';

export default ({
  articles
}) => {
  return (
    <div className="col-md-8 col-10 mx-auto">
      <ListGroup className="results">
        <ReactCSSTransitionGroup
                transitionName="article"
                transitionEnterTimeout={500}
                transitionLeaveTimeout={300}>
          {articles.map((article, idx) => {
            return (
                <ListGroupItem key={idx}>
                  <ListGroupItemHeading>
                    <a target="_blank" href={`https://wikipedia.org/wiki/${article.title}`}>
                      {article.title}
                    </a>
                  </ListGroupItemHeading>
                  <ListGroupItemText dangerouslySetInnerHTML={{__html: article.snippet}}>
                  </ListGroupItemText>
                </ListGroupItem>
            );
          })}
        </ReactCSSTransitionGroup>
      </ListGroup>
    </div>
  );
};

如果不是这样,也许你可以提供一个代码示例。

票数 1
EN

Stack Overflow用户

发布于 2017-11-05 22:11:31

我找到了问题的解决方案,我所要做的就是使用react-transition-group中的CSSTransitionGroup。我不知道为什么,但它现在工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47116054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档