最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React中props使用介紹

 更新時間:2022年12月21日 11:55:39   作者:神也佑我YK  
props是組件(包括函數組件和class組件)間的內置屬性,用其可以傳遞數據給子節(jié)點,props用來傳遞參數。組件實例化過程中,你可以向其中傳遞一個參數,這個參數會在實例化過程中被引用

1.繼續(xù)深入state

state有兩種用法:

setState({}) 和 setState(()=>{})

第一種用法本質是:我寫了這個屬性,然后進行覆蓋操作。

第二種用法好處是:回調函數中的第一個參數是state。這樣的話看起來獲取到原先state上的數據也更加簡單!

setState修改數據實現(xiàn)響應式的本質

在每次修改之后,會重新調用render函數。

2.props

什么是props?

? props 是組件傳遞的參數。子組件通過this.props來接受!

在類組件中:

props通過子組件的this.props來接受父組件傳過來的props值。

組件是可以復用的,最常見的就是循環(huán)來使用。與Vue不同的是:React他沒有指令這一說法。jsx語法會自動循環(huán)數組。通常處理數組都采用高階函數。例如

沒有循環(huán)的用法:

 <div class="box1"></div>
    <script src="../../js/react.development.js"></script>
    <script src="../../js/react-dom.development.js"></script>
    <script src="../../js/babel.min.js"></script>
    <script type="text/babel">
        // 子組件
        class Info extends React.Component {
            render() {
                const { name, age, sex } = this.props
                return <div>
                    <h2>子組件Child</h2>
                    <div>姓名: {name}</div>
                    <div>年齡: {age}</div>
                    <div>性別: {sex}</div>
                </div>
            }
        }
        // 父組件
        class Demo extends React.Component {
            state = {
                arr: [
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    }
                ]
            }
            render() {
                return (
                    <div>
                        <h1>我是Demo組件</h1>
                        <hr />
                        <Info name="耀陽" age="18" sex="男"></Info>
                        <Info name="呂德華" age="18" sex="男"></Info>
                        <Info name="北幕" age="18" sex="男"></Info>
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo></Demo>, document.querySelector('.box1'))
    </script>

有循環(huán)的用法

  <div class="box1"></div>
    <script src="../../js/react.development.js"></script>
    <script src="../../js/react-dom.development.js"></script>
    <script src="../../js/babel.min.js"></script>
    <script type="text/babel">
        // 子組件
        class Info extends React.Component {
            render() {
                const { name, age, sex } = this.props
                return <div>
                    <h2>子組件Child</h2>
                    <div>姓名: {name}</div>
                    <div>年齡: {age}</div>
                    <div>性別: {sex}</div>
                </div>
            }
        }
        // 父組件
        class Demo extends React.Component {
            state = {
                arr: [
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    }
                ]
            }
            render() {
                return (
                    <div>
                        <h1>我是Demo組件</h1>
                        <hr />
                        {
                            this.state.arr.map(item => <Info name={item.name} age={item.age} sex={item.sex} ></Info>)
                        }
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo></Demo>, document.querySelector('.box1'))
    </script>

Props幾個特點:

子組件不能修改傳遞的Props數據,只能由父組件來修改,或者從數據的源頭來修改。

父組件傳遞參數,可以是其他的類型,利用jsx語法:{},跟vue的插值語法類似:都是js表達式!

父組件傳遞多個數據{…obj}

對象解構還是對象?。?!

<div class="box1"></div>
    <script src="../../js/react.development.js"></script>
    <script src="../../js/react-dom.development.js"></script>
    <script src="../../js/babel.min.js"></script>
    <script type="text/babel">
        // 子組件
        class Info extends React.Component {
            render() {
                const { name, age, sex } = this.props
                return <div>
                    <h2>子組件Child</h2>
                    <div>姓名: {name}</div>
                    <div>年齡: {age}</div>
                    <div>性別: {sex}</div>
                </div>
            }
        }
        // 父組件
        class Demo extends React.Component {
            state = {
                obj: {
                    name: "耀陽1", age: "18", sex: "男"
                }
            }
            render() {
                return (
                    <div>
                        <h1>我是Demo組件</h1>
                        <hr />
                        <Info {...this.state.obj}></Info>
                        <Info name="呂德華" age="18" sex="男"></Info>
                        <Info name="北幕" age="18" sex="男"></Info>
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo></Demo>, document.querySelector('.box1'))
    </script>

3.限制Props的傳遞類型

子組件接收父組件的類型,父組件可以隨意的定義,

? a. 子組件限制父組件傳遞的數據類型

? b. 引入prop-types庫

? c. 需要在類上設置一個屬性 propTypes,誰想限制給誰設置。寫在類上面方法(靜態(tài)方法)

? d. 設置默認值 defaultProps = {}

這個不需要記住,用的時候查閱即可!

限制類型的簡寫:可以使用static靜態(tài)方法。

4.函數接收props參數

函數中的state在hook中才能使用。暫時先不考慮。

函數的第一個參數就是props,在函數中只需要用第一個參數來接受即可

5.插槽

props下面的Childrene

到此這篇關于React中props使用介紹的文章就介紹到這了,更多相關React props內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解析react?函數組件輸入卡頓問題?usecallback?react.memo

    解析react?函數組件輸入卡頓問題?usecallback?react.memo

    useMemo是一個react hook,我們可以使用它在組件中包裝函數??梢允褂盟鼇泶_保該函數中的值僅在依賴項之一發(fā)生變化時才重新計算,這篇文章主要介紹了react?函數組件輸入卡頓問題?usecallback?react.memo,需要的朋友可以參考下
    2022-07-07
  • React父組件數據實時更新了,子組件沒有更新的問題

    React父組件數據實時更新了,子組件沒有更新的問題

    這篇文章主要介紹了React父組件數據實時更新了,子組件沒有更新的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解React-Todos入門例子

    詳解React-Todos入門例子

    本篇文章主要介紹了React-Todos入門例子,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 教你使用vscode 搭建react-native開發(fā)環(huán)境

    教你使用vscode 搭建react-native開發(fā)環(huán)境

    本文記錄如何使用vscode打造一個現(xiàn)代化的react-native開發(fā)環(huán)境,旨在提高開發(fā)效率和質量。本文給大家分享我遇到的問題及解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • React?Redux管理庫示例詳解

    React?Redux管理庫示例詳解

    這篇文章主要介紹了如何在React中直接使用Redux,目前redux在react中使用是最多的,所以我們需要將之前編寫的redux代碼,融入到react當中去,本文給大家詳細講解,需要的朋友可以參考下
    2022-12-12
  • React應用中避免白屏現(xiàn)象的方法小結

    React應用中避免白屏現(xiàn)象的方法小結

    在開發(fā)React應用程序時,我們都曾遇到過這樣的場景:一個未被捕獲的異常突然中斷了組件的渲染流程,導致用戶界面呈現(xiàn)出一片空白,也就是俗稱的“白屏”現(xiàn)象,本文將探討如何在React應用中有效捕獲并處理這些錯誤,避免白屏現(xiàn)象的發(fā)生,需要的朋友可以參考下
    2024-06-06
  • React高階組件使用詳細介紹

    React高階組件使用詳細介紹

    高階組件就是接受一個組件作為參數并返回一個新組件(功能增強的組件)的函數。這里需要注意高階組件是一個函數,并不是組件,這一點一定要注意,本文給大家分享React高階組件使用小結,一起看看吧
    2023-01-01
  • 將React+Next.js的項目部署到服務器的方法

    將React+Next.js的項目部署到服務器的方法

    本文詳細介紹了將React+Next.js項目部署到服務器的步驟,包括服務器環(huán)境準備、項目配置與構建、啟動服務、配置Nginx反向代理、HTTPS配置、驗證與監(jiān)控以及高級優(yōu)化,感興趣的朋友一起看看吧
    2025-03-03
  • 詳解react native頁面間傳遞數據的幾種方式

    詳解react native頁面間傳遞數據的幾種方式

    這篇文章主要介紹了詳解react native頁面間傳遞數據的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • React實現(xiàn)動態(tài)調用的彈框組件

    React實現(xiàn)動態(tài)調用的彈框組件

    這篇文章主要為大家詳細介紹了React實現(xiàn)動態(tài)調用的彈框組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論

务川| 庄河市| 浦县| 沭阳县| 萨嘎县| 阜城县| 龙胜| 玉屏| 贡嘎县| 汶川县| 色达县| 宜阳县| 当涂县| 佳木斯市| 宜章县| 灌云县| 连江县| 肥城市| 高平市| 富民县| 谷城县| 扎兰屯市| 张家港市| 阳原县| 深圳市| 新乐市| 赤壁市| 铜川市| 连城县| 石阡县| 方山县| 邻水| 启东市| 郧西县| 安国市| 汶上县| 宣汉县| 共和县| 修水县| 克什克腾旗| 青阳县|