javascript - 当 React 元素的文本更改时呈现 CSS 过渡

标签 javascript css reactjs

这是我的代码库的片段 - https://codesandbox.io/s/transition-code-1wr5z

目前,通过更改类和 CSS 过渡,当加载并安装新的 Paragraph 组件时,文本会淡入。

但是,我希望在 Paragraph 组件中的 text 属性发生变化时也发生这种转换。

在生命周期更新或渲染中执行此操作只会触发无限更新循环

不知道从这里该何去何从,因为我能找到的大多数讨论都是关于解决让文本在加载时淡入而不是在更新时淡入的功能。

最佳答案

这是片段解决方案

import React, { Component } from "react";
import "./Style.css";

class Paragraph extends Component {
  constructor(props) {
    super(props);
    this.state = {
      open: false
    };
  }

  componentDidMount() {
   setInterval(() => {
     this.fade();
   }, 1000); 
  }

  fade() {
    this.setState({ open: !this.state.open });
  }

  render() {
    const text = this.props.text;

    const classes = this.state.open ? "greenCls" : "redCls";

    return <div className={classes}>{text}</div>;
  }
}

export default Paragraph;

CSS 类

.redCls {
  background: red;
}
.greenCls {
  background: green;
}

关于javascript - 当 React 元素的文本更改时呈现 CSS 过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58251344/

相关文章:

java - Css Selector 有特定的属性?

html - 对 HTML 和 CSS 的查询 - 标题部分上方有白色间隙。如何处理?

javascript - 带有模态弹出窗口的正方形网格

javascript - 如何使用一个组件在reactjs中渲染多个html片段?

javascript - 有条件地允许 onClick

javascript - 从数组中选取 2 个随机元素

javascript - 如何检测类(class)位置并应用风格

reactjs - React-router "Cannot GET/*"除了根 url

javascript - npm install --legacy-peer-deps 究竟做了什么?什么时候推荐/什么是潜在的用例?

javascript - AngularJS 数据表