我在写react实现图片轮播的时候遇到的问题:
我写js的时候把第一个组件删除追加到后面,可是react不应该操作dom那要怎么写呢?
原来js的代码:
var link = $("advList").children[0];
$("advList").removeChild(link);
$("advList").appendChild(link);
不知道你要实现具体效果,如果每张图片都在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啦