在Reactjs中,遇到了频繁修改css的属性,需要修改this.infoBox
(<div ref={infoBox => this.infoBox = infoBox}></div>
)的位置。
我采用的是,获取到this.infoBox
的style属性,然后修改其transform
属性。
但是百度,google的大部分结果是使用setState
+inline style
解决。请问一下,如果遇到频繁修改style的css属性用什么方法解决比较好?
在Reactjs中,遇到了频繁修改css的属性,需要修改this.infoBox
(<div ref={infoBox => this.infoBox = infoBox}></div>
)的位置。
我采用的是,获取到this.infoBox
的style属性,然后修改其transform
属性。
但是百度,google的大部分结果是使用setState
+inline style
解决。请问一下,如果遇到频繁修改style的css属性用什么方法解决比较好?
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
首先,React的思想是通过状态state,驱动UI的展现,既然你的style需要频繁修改,把它放到state中更符合react的设计思想。
其次,ref是React提供的一种直接操作DOM的后门,是试验特性,应该尽量避免使用。
所以,
setState
+inline style
的解决方案更佳。