日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

React(二):类组件、函数式组件

發布時間:2023/12/31 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 React(二):类组件、函数式组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Component(組件)可以是類組件(class component)、函數式組件(function component)。

1、類組件:

通常情況下,我們會使用ES6的class關鍵字來創建React組件。

a、類組件分為普通類組件(React.Component)以及純類組件(React.PureComponent)。

// Component class Welcome extends React.Component {render() {return <h1>Hello, {this.props.name}</h1>;} }復制代碼// PureComponent class Welcome extends React.PureComponent {render() {return <h1>Hello, {this.props.name}</h1>;} }復制代碼

b、React.Component和React.PureComponent區別

先了解下React生命周期函數shouldComponentUpdate,這個函數返回一個布爾值,如果返回true,那么當props或state改變的時候進行更新;如果返回false,當props或state改變的時候不更新,默認返回true。這里的更新不更新,其實說的是執不執行render函數,如果不執行render函數,那該組件和其子組件都不會重新渲染。

區別:

  • 1、繼承PureComponent時,不能再重寫shouldComponentUpdate
  • 2、React.PureComponent基于shouldComponentUpdate做了一些優化,通過prop和state的淺比較來實現shouldComponentUpdate,也就是說,如果是引用類型的數據,只會比較是不是同一個地址,而不會比較具體這個地址存的數據是否完全一致。

class ListOfWords extends React.PureComponent {render() {return <div>PureComponent渲染結果:{this.props.words.join(',')}</div>;} } class WordAdder extends React.Component {constructor(props) {super(props);this.state = {words: ['marklar']};this.handleClick = this.handleClick.bind(this);}handleClick() {// This section is bad style and causes a bugconst words = this.state.words;words.push('marklar');this.setState({words: words});}render() {// slice() 方法返回一個新的數組對象return (<div><button onClick={this.handleClick}>click</button><div>Component渲染結果:{this.state.words.join(',')}</div><ListOfWords words={this.state.words} /><ListOfWords words={this.state.words.slice(0)} /></div>);} } ReactDOM.render(<WordAdder />,document.getElementById('root') );復制代碼

在 CodePen 上嘗試。

2、函數式組件:

一個函數就是一個組件,return一份DOM解構 特點: 1.沒有生命周期,也會被更新并掛載,但是沒有生命周期函數 2.沒有this(組件實例) 3.沒有內部狀態(state) 優點 :輕量,如果你的組件沒有涉及到內部狀態,只是用來渲染數據,那么就用函數式組件,性能較好。復制代碼// functional component function Welcome(props) {return <h1>Hello, {props.name}</h1>; }復制代碼//組合組件 function Welcome(props) {return <h1>Hello, {props.name}</h1>; }function App() {return (<div><Welcome name="Sara" /><Welcome name="Cahal" /><Welcome name="Edite" /></div>); }ReactDOM.render(<App />,document.getElementById('root') );復制代碼

3、函數式組件與基于Class聲明的組件比較

  • 不需要聲明類,可以避免大量的譬如extends或者constructor這樣的代碼

  • 不需要顯示聲明this關鍵字,在ES6的類聲明中往往需要將函數的this關鍵字綁定到當前作用域,而因為函數式聲明的特性,我們不需要再強制綁定。

  • 更佳的性能表現:因為函數式組件中并不需要進行生命周期的管理與狀態管理,因此React并不需要進行某些特定的檢查或者內存分配,從而保證了更好地性能表現。

const Text = (props) =><p>{props.children}</p>;class App extends React.Component {render() {return <Text>Hello World</Text>;} } ReactDOM.render(<App />,document.getElementById('root') );復制代碼

在 CodePen 上嘗試。



轉載于:https://juejin.im/post/5c0dfa265188257a5a2514d6

總結

以上是生活随笔為你收集整理的React(二):类组件、函数式组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一区二区在线观看 | 日韩精品电影一区 | 亚洲私人网站 | 99久久人妻无码精品系列 | 日韩最新中文字幕 | 男人猛吃奶女人爽视频 | 四虎在线观看 | 精品动漫一区二区 | 日本一区二区三区精品视频 | 强开乳罩摸双乳吃奶羞羞www | 天堂网在线视频 | av动漫网| 少妇极品熟妇人妻无码 | 日日爱av| 青青草视频免费播放 | 伊人一区二区三区 | xxxxxx国产 | 日本一级片在线观看 | 日本aⅴ在线观看 | 亚洲国产成人精品一区二区三区 | 欧美成人xxx | 国语对白精彩对话 | 中文字幕不卡av | 亚洲免费不卡视频 | 日韩av高清无码 | 亚洲 欧美 变态 另类 综合 | 国产成人小视频在线观看 | 国产精品第一页在线观看 | 免费在线不卡av | 91成人在线视频 | 色漫 | 欧美视频亚洲视频 | 三级黄色片网站 | 一区二区日韩 | 国精品人妻无码一区二区三区喝尿 | 成人在线小视频 | 久久瑟瑟 | 性xxxxbbbb| 四虎影视永久地址 | 日韩精品一区二区三区 | 黄色一级片毛片 | 久久久久人妻精品一区二区三区 | 中文在线免费观看 | 国产精品久久久久久久一区二区 | 成人免费看片39 | 摸大乳喷奶水www视频 | 亚洲国产综合视频 | 黄色一级a毛片 | 国产成人精品一区二三区 | 欧美人与动物xxx | 国内露脸中年夫妇交换 | 成人夜夜| 亚洲视频一区在线 | 北条麻妃青青久久 | 久久99草| 国产成人在线观看免费 | 在线亚洲网站 | 人人干人人舔 | 色婷婷国产精品视频 | 亚洲综合在线视频 | 美女让男生桶 | 日韩香蕉视频 | 极品尤物在线观看 | 中国女人一级片 | 麻豆视频免费入口 | 欧美精品免费一区二区三区 | 成年人激情网站 | 97超碰在线免费 | 欧美激情首页 | 国产自偷自拍 | 久久久久亚洲av成人无码电影 | 香蕉免费在线视频 | 看全色黄大色黄大片女一次牛 | 熟女俱乐部五十路六十路av | 日本一区二区在线免费观看 | 91jk制服白丝超短裙大长腿 | 蜜桃成人在线视频 | 国产肥白大熟妇bbbb视频 | 亚洲乱码国产乱码精品精 | 亚洲AV无码精品黑人黑人 | 激情亚洲天堂 | 5月婷婷6月丁香 | av视觉盛宴| 一区二区三区四区在线 | 国产精品一区在线观看 | 国产日产欧美一区二区 | 丁香花电影免费播放在线观看 | 日韩黄色免费 | 国产在线视频卡一卡二 | 一级淫片a | 国产剧情在线一区 | 黄色大片日本 | 香蕉视频一级片 | 欧美色图小说 | 欧美性猛交| 国产偷亚洲偷欧美偷精品 | 午夜高清视频 | 国产麻豆电影在线观看 | 日本韩国免费观看 |