javascript - react如何获取offsetX?
问题描述
1.在react中如何获取元素的offsetX呢?
我的思路是通过this.state.offsetX获取,但是this确是null
2.react中可以初始化一个组件的某些状态,但是我这样写getInitialState在控制台却出现了warning错误。提示如下图:
具体代码如下
问题解答
回答1:1、es6写法下。初始化默认state是在constructor中进行
constructor() { super(); this.state = { }}
2、事件回调函数中如果要用this,需要手动bind
// 方法1this.moveElment.bind(this);// 方法2moveElement = event => {}// 方式3<p onMouseEnter={() => this.moveElement}></p>回答2:
getInitialState 是 ES5 里的写法.在 ES6 里, 应该把 state 初始化放到 constructor 里.
class Demo extends Component{ constructor(){super(); // 必须先调用super, 后面才能用 this this.state = {} }}回答3:
错误写的很明白, 只有在使用
React.createClass()
的时候才可以使用getInitialState,在使用ES6的class关键字创建时使用
this.state = {}
相关文章:
1. html5 - 如何让H5页面在手机浏览器里和微信全屏显示2. css - calc()设置宽度等于自身的高度?3. node.js - nodejs开发中常用的连接mysql的库4. MYSQL代码执行错误:FUNCTION any_value does not exist5. 微信小程序如何加载h5页面6. paramiko - Python tempfile生成的文件能不能拷贝到远程服务器?7. mysql - oracle物化视图和临时表的区别是什么?8. 网页爬虫 - python+requests 网页重定向求解9. javascript - 关于json中获取多个key-value对中多层嵌套key的name10. WebDriverException:消息:服务/ content / chromedriver意外退出状态代码为:-6(使用ChromeDriverGoogle Colab和Selenium)