javascript – 反应如何更新样式坐标

前端之家收集整理的这篇文章主要介绍了javascript – 反应如何更新样式坐标前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

每当我尝试动态更新react中的某个组件时,例如,对象在mousemove上的位置,它确实会抛出一个错误

Warning: `div` was passed a style object that has prevIoUsly been mutated. Mutating `style` is deprecated. Consider cloning it beforehand.

如果我不能以任何方式更新对象样式道具,那么如何可以做任何类型的动态内容,比如交互式游戏.至于克隆Reactjs建议的节点,在任何地方都没有解释如何用克隆元素实现相同的结果.

https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement

这根本没有帮助.

我的问题是在mouseup事件上(用户想要删除它),我想更新样式道具,以获取从更新的状态属性获取的新值,即在render函数中.

最佳答案
此警告即将发生,因为左侧或顶部是NaN.在getInitialState函数中将左侧或顶部初始化为零或某个值.

  getInitialState: function() {
    return {
      left:0,top: 0
    };

克隆React-Element也无济于事.警告表示您在更改样式对象时必须克隆样式对象.这可以做到

var style1 = {myProp: "value"};
var style2 = Object.assign({},style1,{newProp:"newValue"}); 

而不是直接将它们设置为

这样做

var myStyle = {left: this.state.left,top: this.state.top};

然后根据您的更改克隆myStyle对象并向其添加更改的样式属性.

猜你在找的JavaScript相关文章