小编shu*_*wal的帖子

在Reactjs中是否存在setState()的同步替代

根据文档中的解释:

setState()不会立即改变this.state,但会创建挂起状态转换.调用此方法后访问this.state可能会返回现有值.

无法保证对setState的调用进行同步操作,并且可以对调用进行批处理以获得性能提升.

因此,由于setState()是同步的,并且无法保证其同步性能.是否存在setState()同步的替代方案.

例如

//initial value of cnt:0
this.setState({cnt:this.state.cnt+1})
alert(this.state.cnt);    //alert value:0
Run Code Online (Sandbox Code Playgroud)

由于该alert值是先前的值,因此可以alert value:1使用的替代方法是什么setState().

Stackoverflow上几乎没有问题类似于这个问题,但没有我能找到正确答案的地方.

javascript reactjs

35
推荐指数
3
解决办法
3万
查看次数

CSS伪类:按钮点击后焦点

我正在使用一些基本的CSS动画button.问题是:focus当我们在键盘上按Tab键时,伪类甚至可以工作.所以我想这:focus应该只在我点击按钮时才有效,即仅在激活时.

这是代码:

button {
  background: #c33;
  width: 150px;
  height: 30px;
  border: 0;
  color: #fff;
}

button:after {
  content: 'RENT ME';
  display: block;
}

button:active,
button:focus {
  background: green;
}

button:active:after,
button:focus:after {
  display: block;
  animation: shake 1s linear, revert 2s 1s;
  position: relative;
}

@keyframes shake {
  from {
    content: "O";
    font-family: FontAwesome;
    transform: rotate(0deg);
  }
  to {
    content: "O";
    font-family: FontAwesome;
    transform: rotate(360deg);
  }
}

@keyframes revert {
  0% {
    content: 'ADDED TO …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

10
推荐指数
2
解决办法
2293
查看次数

如何在Reactjs中添加延迟

我是Reactjs的新手.我不知道如何添加delay渲染.Reactjs什么是添加延迟的最佳方法.

我在渲染中添加以下代码但它不起作用.

setTimeout(function() {

}, 1000);
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

9
推荐指数
3
解决办法
3万
查看次数

光滑轮播:播放视频时暂停光滑自动播放

我正在使用http://kenwheeler.github.io/slick/作为转盘.但问题是,即使在播放YouTube视频时,自动播放也会将光滑滑动到下一个.

的jsfiddle

目前我正在使用下面的JS,但似乎没有任何工作.

$('#main-slider').slick({
      slidesToShow: 1,
      slidesToScroll: 1,
      autoplay: true,
      autoplaySpeed: 3000,
      dots: true,
      infinite: true,
      adaptiveHeight: true,
      arrows: false
  });

  var video = $('#main-slider .slick-active').find('iframe').get(0).play();

  $('#main-slider').on('afterChange', function(event, slick, currentSlide, nextSlide){
    $('#main-slider .slick-slide').find('video').get(0).pause();
    var video = $('#main-slider .slick-active').find('video').get(0).play();
});
Run Code Online (Sandbox Code Playgroud)

几乎没有类似的问题,但没有一个有解决方案. Slick-carousel如何通过youtube api打开视频时停止自动播放

html youtube jquery slick.js

7
推荐指数
1
解决办法
4118
查看次数

使用 jQuery 更改父类

某些链接有下拉组。这是他们的一部分:

如果 li 在 level-1 下有 active-item 类,那么我尝试用 open-item 替换父 li 的 close-item。

这是用于此的 jquery 代码。

$(document).ready(function() {

  $('.active-item').parent('li').addClass('open-item').removeClass('close-item');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="has-child-item close-item">
  <a><i class="fa fa-cubes" aria-hidden="true"></i><span>?stasyon Ayarlar?</span></a>
  <ul class="nav child-nav level-1">
    <li class="active-item"><a href="{{url('/istasyonlar')}}">?stasyon Listesi</a></li>
    <li><a href="{{url('/istasyonlar/ekle')}}">Yeni ?stasyon Tan?mlama</a></li>
  </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

jquery

3
推荐指数
1
解决办法
5419
查看次数

标签 统计

html ×2

javascript ×2

jquery ×2

reactjs ×2

css ×1

css3 ×1

html5 ×1

slick.js ×1

youtube ×1