欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1. 介紹

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

react中定義組件的2種方式

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

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

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

注意點:

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

使用:

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

2.2 類組件

注意點:

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

使用:

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

3. 父子組件傳值

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

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

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

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

3.1 函數(shù)組件

import React, { Component } from 'react'
// 函數(shù)組件間的通信
// 子組件通過入?yún)?props來接收 父組件傳過來的數(shù)據(jù)  props它是一個對象
const Child = props => {
  let {title} = props
  console.log(props)
  return (
    <div>
      <h3>Child組件 -- {title}</h3>
    </div>
  )
}
// 標(biāo)準(zhǔn)寫法
// const Child = ({ title = '默認值', 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>
      {/* 通過自定義屬性,可以向子組件傳遞數(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'
// 類組件 父傳子
// 子組件它是通過 成員屬性this.props來接受
class Child extends Component {
  render() {
    // 得到父組件傳過來的自定義屬性數(shù)據(jù)
    let { title = '默認值', 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>
        {/* 注意:子組件中打印時會調(diào)用函數(shù),所以這里傳的值一定得是函數(shù),而不是執(zhí)行函數(shù)過后的數(shù)據(jù) */}
        <Child title="我是標(biāo)題" fn={this.fn(200)} />
      </div>
    )
  }
}
export default App

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

相關(guān)文章

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

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

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

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

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

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

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

    React獲取Java后臺文件流并下載Excel文件流程解析

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

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

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

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

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

    react?事項懶加載的三種方法及使用場景

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

    React受控組件與非受控組件實例分析講解

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

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

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

    詳解React中Props的淺對比

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

最新評論