qq_33168734
Superior_小旭
采纳率21.4%
2017-06-05 12:48 阅读 2.2k

React dom操作转换问题

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


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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • liuyunxiaoyao liuyunxiaoyao 2017-06-07 03:57

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

    点赞 评论 复制链接分享
  • qq_26905989 himushroom 2017-06-08 02:28

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

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

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

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

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

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

    点赞 评论 复制链接分享

相关推荐