[react] super()和super(props)有什么区别?
生活随笔
收集整理的這篇文章主要介紹了
[react] super()和super(props)有什么区别?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[react] super()和super(props)有什么區別?
react 中的class 是基于es6的規范實現的, 繼承是使用extends關鍵字實現繼承的,子類必須在constructor()中調用super() 方法否則新建實例
就會報錯,報錯的原因是 子類是沒有自己的this對象的,它只能繼承父類的this對象,然后對其進行加工,而super()就是將父類中的this對象繼承給子類的,沒有super() 子類就得不到this對象。
如果你使用了constructor就必須寫super() 這個是用來初始化this的,可以綁定事件到this上
如果你想要在constructor中使用this.props,就必須給super添加參數 super(props)
注意,無論有沒有 constructor,在render中的this.props都是可以使用的,這是react自動附帶的
如果沒有用到constructor 是可以不寫的,react會默認添加一個空的constroctor.
個人簡介
我是歌謠,歡迎和大家一起交流前后端知識。放棄很容易,
但堅持一定很酷。歡迎大家一起討論
主目錄
與歌謠一起通關前端面試題
總結
以上是生活随笔為你收集整理的[react] super()和super(props)有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA svn 菜单不见了,解决方法
- 下一篇: 苏宁易购:Hadoop失宠前提是出现更强