javascript - 如何使用纯 JavaScript 淡入 React 组件?

标签 javascript fadein

我希望我的 React 组件在安装时淡入。我组件的最外层 DIV 具有内联样式 display:none。在我的 componentDidMount() 方法中,我有以下内容:

let el = document.querySelector('.myElement');
el.style.transition="opacity 2s";
el.style.opacity=1;

但是,组件仍然隐藏。如果我将 el.style.display='block'; 添加到上述方法中,该组件会立即出现而不会产生任何淡入淡出效果。

我已经尝试使用 jQuery fadeIn 方法进行同样的操作,效果很好:

$(el).fadeIn(2000);

那么,是否可以使用纯 JavaScript 来做到这一点?

注意:有问题的组件在两种情况下使用。第一个是将新组件添加到页面时。第二种是组件在页面加载时呈现到页面并包含来自数据库的数据。我只希望在向页面添加新组件时发生淡入淡出过渡。

最佳答案

这很容易。

在你的 React 组件中:

componentDidMount() {
  let el = document.querySelector('.myElement');
  el.classList.add('fade-in');
}

在你的样式表中:

.myElement {
  opacity: 0;
  transition: 2s opacity;
}

.fade-in {
  opacity: 1;
}

当您的组件安装时,它会立即有一个 opacity: 0,然后是一个 fade-in 类,将它设置为 opacity: 1 过渡 2 秒。

关于javascript - 如何使用纯 JavaScript 淡入 React 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698648/

相关文章:

javascript - 如何通过单击隐藏在 JavaScript 中的 div 来触发函数?

javascript - 使用 JavaScript 检查文本输入模式是否有效

javascript - 为什么这段以函数式风格编写的 jQuery 代码不起作用?

javascript - 如何使编辑器仅在相关 bool 属性设置为 true 时才启用

jquery 一步步形式

javascript - 我创建了一个 jquery 轮播,并使用 if 条件来运行和停止轮播

javascript - jquery 或 javascript 图像 onclick div fadein/link onclick div fadeout

jQuery:网页仅淡入一次

fadeIn 和 fadeOut 的 jQuery 回调

javascript - 如何淡入特定的 CSS 属性