react如何获取offsetX?

1.在react中如何获取元素的offsetX呢?

我的思路是通过this.state.offsetX获取,但是this确是null

2.react中可以初始化一个组件的某些状态,但是我这样写getInitialState在控制台却出现了warning错误。提示如下图:

clipboard.png

具体代码如下
clipboard.png

阅读 4.9k
3 个回答

1、es6写法下。初始化默认state是在constructor中进行

constructor() {
    super();
    this.state = {
    }
}

2、事件回调函数中如果要用this,需要手动bind

// 方法1
this.moveElment.bind(this);

// 方法2
moveElement = event => {
}

// 方式3
<div onMouseEnter={() => this.moveElement}></div>

getInitialState 是 ES5 里的写法.
在 ES6 里, 应该把 state 初始化放到 constructor 里.

class Demo extends Component{
    constructor(){
        super(); // 必须先调用super, 后面才能用 this 
        this.state = {}        
    }
}

错误写的很明白, 只有在使用

React.createClass()

的时候才可以使用getInitialState,在使用ES6的class关键字创建时使用

this.state = {}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题