亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

React組件的應(yīng)用介紹

 更新時(shí)間:2022年09月30日 10:00:08   作者:月光曬了很涼快  
React組件分為函數(shù)組件與class組件;函數(shù)組件是無(wú)狀態(tài)組件,class稱為類組件;函數(shù)組件只有props,沒(méi)有自己的私有數(shù)據(jù)和生命周期函數(shù);class組件有自己私有數(shù)據(jù)(this.state) 和 生命周期函數(shù)

1. 介紹

組件允許你將 UI 拆分為獨(dú)立可復(fù)用的代碼片段,并對(duì)每個(gè)片段進(jìn)行獨(dú)立構(gòu)思。從概念上類似于 JavaScript 類或函數(shù)。它接受任意的形參( props ),并返回用于描述頁(yè)面展示內(nèi)容的 React元素( jsx )。 定義好的組件一定要有返回值。

react中定義組件的2種方式

  • 函數(shù)組件(無(wú)狀態(tài)組件/UI組件)
  • 類組件(狀態(tài)組件/容器組件)

2. 組件的創(chuàng)建方式

2.1 函數(shù)創(chuàng)建組件

注意點(diǎn):

  • 函數(shù)組件(無(wú)狀態(tài)組件):使用JS的函數(shù)創(chuàng)建組件;
  • 函數(shù)名稱必須以大寫字母開(kāi)頭;
  • 函數(shù)組件必須有返回值(jsx/null),表示該組件的結(jié)構(gòu),且內(nèi)容必須有頂級(jí)元素包裹。

使用:

import React, { Component } from 'react'
// 定義函數(shù)組件  如果你安裝了jsx插件,則可以通過(guò) 【rfc】 完成創(chuàng)建
// 1.使用js中的定義函數(shù)
// 2.函數(shù)名稱,首字母大寫
// 3.必須要有jsx/null返回值,如果是jsx則一定要有頂層元素包裹
const App = () => {
  return (
    <div>
      <h3>我是一個(gè)App函數(shù)組件</h3>
    </div>
  )
}
export default App

2.2 類組件

注意點(diǎn):

  1. 使用 ES6 語(yǔ)法的 class 創(chuàng)建的組件(狀態(tài)組件)
  2. 類名稱必須要大寫字母開(kāi)頭
  3. 類組件要繼承 React.Component 父類,從而可以使用父類中提供的方法或者屬性
  4. 類組件必須提供 render 方法,用于頁(yè)面結(jié)構(gòu)渲染,結(jié)構(gòu)必須要有頂級(jí)元素,且必須 return 去返回

使用:

import React, { Component } from 'react'
// 定義類組件  如果你安裝了jsx插件,則可以通過(guò) 【rcc】來(lái)創(chuàng)建類組件
// 1.要以es6的定義類來(lái)定義 ,必須以class定義類
// 2.此類必須要繼承父類[Component]
// 3.此類必須要有一個(gè)成員方法 render,此方法中必須要返回jsx/null,如果是jsx必須要有頂層元素
class App extends Component {
  render() {
    return (
      <div>
        <h3>App之類組件</h3>
      </div>
    )
  }
}
export default App

3. 父子組件傳值

組件間傳值,在React中是通過(guò)只讀屬性 props 來(lái)完成數(shù)據(jù)傳遞的。

props:接受任意的形參,并返回用于描述頁(yè)面展示內(nèi)容的 React 元素。

props中的數(shù)據(jù)是不能被修改的,只能讀取。

props是一個(gè)單向數(shù)據(jù)流。 父流向子,子不能直接去修改 props 中的數(shù)據(jù)。

3.1 函數(shù)組件

import React, { Component } from 'react'
// 函數(shù)組件間的通信
// 子組件通過(guò)入?yún)?props來(lái)接收 父組件傳過(guò)來(lái)的數(shù)據(jù)  props它是一個(gè)對(duì)象
const Child = props => {
  let {title} = props
  console.log(props)
  return (
    <div>
      <h3>Child組件 -- {title}</h3>
    </div>
  )
}
// 標(biāo)準(zhǔn)寫法
// const Child = ({ title = '默認(rèn)值', fn }) => {
//   console.log(fn())
//   return (
//     <div>
//       <h3>Child組件 -- {title}</h3>
//     </div>
//   )
// }
const App = () => {
  // 在react中的方法,先定義后調(diào)用
  const fn = () => {
    return 'fn'
  }
  return (
    <div>
      <h3>App組件</h3>
      {/* 通過(guò)自定義屬性,可以向子組件傳遞數(shù)據(jù) ,此數(shù)據(jù)它是單向數(shù)據(jù)流,子組件不能直接修改 */}
      <Child title="hello" num={100} obj={{ id: 1 }} fn={fn} />
      {/* <Child /> */}
    </div>
  )
  // function fn() {
  //   return 'function'
  // }
}
export default App

3.2 類組件

import React, { Component } from 'react'
// 類組件 父?jìng)髯?
// 子組件它是通過(guò) 成員屬性this.props來(lái)接受
class Child extends Component {
  render() {
    // 得到父組件傳過(guò)來(lái)的自定義屬性數(shù)據(jù)
    let { title = '默認(rèn)值', fn } = this.props
    console.log(fn())
    return (
      <div>
        <h3>Child組件 -- {title}</h3>
      </div>
    )
  }
}
class App extends Component {
  fn = arg => () => 'fn@@@ -- ' + arg
  render() {
    return (
      <div>
        <h3>App</h3>
        {/* 注意:子組件中打印時(shí)會(huì)調(diào)用函數(shù),所以這里傳的值一定得是函數(shù),而不是執(zhí)行函數(shù)過(guò)后的數(shù)據(jù) */}
        <Child title="我是標(biāo)題" fn={this.fn(200)} />
      </div>
    )
  }
}
export default App

到此這篇關(guān)于React組件的應(yīng)用介紹的文章就介紹到這了,更多相關(guān)React組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 路由react-router-dom的基本使用教程

    路由react-router-dom的基本使用教程

    在React中,路由是一套映射規(guī)則,是URL路徑與組件的對(duì)應(yīng)關(guān)系。使用React路由,就是配置路徑和組件的對(duì)應(yīng)關(guān)系,這篇文章主要介紹了路由react-router-dom的使用,需要的朋友可以參考下
    2023-02-02
  • react ant Design手動(dòng)設(shè)置表單的值操作

    react ant Design手動(dòng)設(shè)置表單的值操作

    這篇文章主要介紹了react ant Design手動(dòng)設(shè)置表單的值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 淺談react?16.8版本新特性以及對(duì)react開(kāi)發(fā)的影響

    淺談react?16.8版本新特性以及對(duì)react開(kāi)發(fā)的影響

    本文主要介紹了react?16.8版本新特性以及對(duì)react開(kāi)發(fā)的影響,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • React獲取Java后臺(tái)文件流并下載Excel文件流程解析

    React獲取Java后臺(tái)文件流并下載Excel文件流程解析

    這篇文章主要介紹了React獲取Java后臺(tái)文件流下載Excel文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • React Native自定義標(biāo)題欄組件的實(shí)現(xiàn)方法

    React Native自定義標(biāo)題欄組件的實(shí)現(xiàn)方法

    今天講一下如何實(shí)現(xiàn)自定義標(biāo)題欄組件,我們都知道RN有一個(gè)優(yōu)點(diǎn)就是可以組件化,在需要使用該組件的地方直接引用并傳遞一些參數(shù)就可以了,這種方式確實(shí)提高了開(kāi)發(fā)效率。對(duì)React Native自定義標(biāo)題欄組件的實(shí)現(xiàn)方法感興趣的朋友參考下
    2017-01-01
  • 詳解React 和 Redux的關(guān)系

    詳解React 和 Redux的關(guān)系

    這篇文章主要為大家介紹了React 和 Redux的關(guān)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • react?事項(xiàng)懶加載的三種方法及使用場(chǎng)景

    react?事項(xiàng)懶加載的三種方法及使用場(chǎng)景

    這篇文章主要介紹了react?事項(xiàng)懶加載的三種方法及使用場(chǎng)景,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • React受控組件與非受控組件實(shí)例分析講解

    React受控組件與非受控組件實(shí)例分析講解

    具體來(lái)說(shuō)這是一種react非受控組件,其狀態(tài)是在input的react內(nèi)部控制,不受調(diào)用者控制??梢允褂檬芸亟M件來(lái)實(shí)現(xiàn)。下面就說(shuō)說(shuō)這個(gè)React中的受控組件與非受控組件的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2023-01-01
  • 詳解React 在服務(wù)端渲染的實(shí)現(xiàn)

    詳解React 在服務(wù)端渲染的實(shí)現(xiàn)

    這篇文章主要介紹了詳解React 在服務(wù)端渲染的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 詳解React中Props的淺對(duì)比

    詳解React中Props的淺對(duì)比

    這篇文章主要介紹了React中Props的淺對(duì)比的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用React,感興趣的朋友可以了解下
    2021-05-05

最新評(píng)論