React dom操作转换问题

我在写react实现图片轮播的时候遇到的问题:
我写js的时候把第一个组件删除追加到后面,可是react不应该操作dom那要怎么写呢?


原来js的代码:
var link = $("advList").children[0];
$("advList").removeChild(link);
$("advList").appendChild(link);

2个回答

不知道你要实现具体效果,如果每张图片都在dom结构中且以删除前面的图片放到后面的逻辑来写的话,我会在render的dom结构中循环渲染图片时,用state的状态参数page(随便定义的)来控制先从第几个图片开始渲染

如果只是你题目中js代码的功能的话,我的思路是这样的

先把你要轮播的图片放进一个数组里 ,我们就叫它imgArr

然后定义一个state,初始值为state={num: 0}

然后写一个定时器,每过1s(图片切换的时间),就

    setInterval(() => {
      this.setState(prevState => ({
        num: prevState.num + 1
      }))
    }, 1000)

然后在render中去渲染imgArr[this.state.num]就OK啦

qq_26905989
himushroom 然后react里面也有轮播的插件啦,比如[https://github.com/voronianski/react-swipe(react-swiper)....
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问