【问题标题】:React Transition Group not applying classes反应过渡组不应用类
【发布时间】:2020-09-19 04:32:18
【问题描述】:

我正在使用 React Transition Group 为每个项目设置不同的超时时间。问题是我的链接没有收到任何课程。但是,当我通过 TransitionGroup 包装 ScollLinks 标签时,动画会起作用,但控制台会显示警告。我不知道问题出在哪里。

Props 参数接收具有布尔属性的对象。

const NavItems = (props) => {
 const items = ["section1", "section2", "section3", "section4", "section5"];

 return (
  <>
  <NavItemsOverlay open={props.open} />

  <ScollLinks open={props.open}>
    <TransitionGroup component={null}>
      {items.map((item, index) => {
        return (
          <CSSTransition
            in={props.open}
            key={index}
            timeout={{
              enter: 100 * index,
              exit: 0,
            }}
            classNames="fade"
            unmountOnExit >
            <Link>{item}</Link>
          </CSSTransition>
        );
      })}
    </TransitionGroup>
  </ScollLinks>
 </>
 );
};

【问题讨论】:

  • 这些警告到底是什么?可以分享一下吗?
  • 未知事件处理程序属性onExited。它将被忽略。 ... 并收到 true 的非布尔属性 in
  • 您在package.json 文件中使用的是哪个版本的react-transition-group
  • "react-transition-group": "^4.4.1"

标签: javascript reactjs


【解决方案1】:

像这样在 TransitionGroup 之外声明您的项目:

const NavItems = (props) => {
  const items = ["section1", "section2", "section3", "section4", "section5"];
  const itemsList = items.map((item, index) => {
    return (
      <CSSTransition
        in={props.open}
        key={index}
        timeout={{
          enter: 100 * index,
          exit: 0,
        }}
        classNames="fade"
        unmountOnExit
      >
        <Link>{item}</Link>
      </CSSTransition>
    );
  });
  return (
    <>
      <NavItemsOverlay open={props.open} />

      <ScollLinks open={props.open}>
        <TransitionGroup component={null}>{itemsList}</TransitionGroup>
      </ScollLinks>
    </>
  );
};

【讨论】:

  • 您的示例看起来不错,但不幸的是链接仍然没有任何类。我删除了 TransitionGroup 标记,只在上面的 map 方法中留下了 CSStransition,结果一切正常,控制台不再显示错误。这很奇怪,因为我认为重复使用 CSSTransition 需要由 TransitionGroup 包装。
猜你喜欢
  • 2017-10-07
  • 2018-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2021-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多