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

React中props使用介紹

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

1.繼續(xù)深入state

state有兩種用法:

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

第一種用法本質(zhì)是:我寫了這個(gè)屬性,然后進(jìn)行覆蓋操作。

第二種用法好處是:回調(diào)函數(shù)中的第一個(gè)參數(shù)是state。這樣的話看起來(lái)獲取到原先state上的數(shù)據(jù)也更加簡(jiǎn)單!

setState修改數(shù)據(jù)實(shí)現(xiàn)響應(yīng)式的本質(zhì)

在每次修改之后,會(huì)重新調(diào)用render函數(shù)。

2.props

什么是props?

? props 是組件傳遞的參數(shù)。子組件通過(guò)this.props來(lái)接受!

在類組件中:

props通過(guò)子組件的this.props來(lái)接受父組件傳過(guò)來(lái)的props值。

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

沒有循環(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="耀陽(yáng)" 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幾個(gè)特點(diǎn):

子組件不能修改傳遞的Props數(shù)據(jù),只能由父組件來(lái)修改,或者從數(shù)據(jù)的源頭來(lái)修改。

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

父組件傳遞多個(gè)數(shù)據(jù){…obj}

對(duì)象解構(gòu)還是對(duì)象?。?!

<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: "耀陽(yáng)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. 子組件限制父組件傳遞的數(shù)據(jù)類型

? b. 引入prop-types庫(kù)

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

? d. 設(shè)置默認(rèn)值 defaultProps = {}

這個(gè)不需要記住,用的時(shí)候查閱即可!

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

4.函數(shù)接收props參數(shù)

函數(shù)中的state在hook中才能使用。暫時(shí)先不考慮。

函數(shù)的第一個(gè)參數(shù)就是props,在函數(shù)中只需要用第一個(gè)參數(shù)來(lái)接受即可

5.插槽

props下面的Childrene

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

相關(guān)文章

  • React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼

    React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼

    本篇文章主要介紹了React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 使用react的7個(gè)避坑案例小結(jié)

    使用react的7個(gè)避坑案例小結(jié)

    React是個(gè)很受歡迎的前端框架。今天我們探索下React開發(fā)者應(yīng)該注意的七點(diǎn),感興趣的小伙伴們可以參考一下
    2021-05-05
  • React渲染的優(yōu)化方案

    React渲染的優(yōu)化方案

    react的渲染機(jī)制是非常獨(dú)特的,有別于 Vue 框架的渲染次數(shù)的優(yōu)化計(jì)算,React 很久以來(lái)就有PureComponent、shouldUpdate,本文小編給大家介紹了React渲染的優(yōu)化方案,需要的朋友可以參考下
    2024-08-08
  • React.memo函數(shù)中的參數(shù)示例詳解

    React.memo函數(shù)中的參數(shù)示例詳解

    這篇文章主要為大家介紹了React.memo函數(shù)中的參數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • React項(xiàng)目中不需要jQuery原因分析

    React項(xiàng)目中不需要jQuery原因分析

    在Web開發(fā)的早期,jQuery是一個(gè)革命性的庫(kù),它極大地簡(jiǎn)化了DOM操作、事件處理、動(dòng)畫制作以及Ajax請(qǐng)求等任務(wù),React的出現(xiàn),jQuery在新項(xiàng)目中的必要性開始受到質(zhì)疑,本文將探討為什么在React應(yīng)用中不需要jQuery,感興趣的朋友可以參考下
    2024-02-02
  • react 組件實(shí)現(xiàn)無(wú)縫輪播示例詳解

    react 組件實(shí)現(xiàn)無(wú)縫輪播示例詳解

    這篇文章主要為大家介紹了react 組件實(shí)現(xiàn)無(wú)縫輪播示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 從零搭建react+ts組件庫(kù)(封裝antd)的詳細(xì)過(guò)程

    從零搭建react+ts組件庫(kù)(封裝antd)的詳細(xì)過(guò)程

    這篇文章主要介紹了從零搭建react+ts組件庫(kù)(封裝antd),實(shí)際上,代碼開發(fā)過(guò)程中,還有很多可以輔助開發(fā)的模塊、流程,本文所搭建的整個(gè)項(xiàng)目,我都按照文章一步一步進(jìn)行了git提交,開發(fā)小伙伴可以邊閱讀文章邊對(duì)照git提交一步一步來(lái)看
    2022-05-05
  • React組件間通信的三種方法(簡(jiǎn)單易用)

    React組件間通信的三種方法(簡(jiǎn)單易用)

    React知識(shí)中一個(gè)主要內(nèi)容便是組件之間的通信,以下列舉幾種常用的組件通信方式,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-10-10
  • react路由v6版本NavLink的兩個(gè)小坑及解決

    react路由v6版本NavLink的兩個(gè)小坑及解決

    這篇文章主要介紹了react路由v6版本NavLink的兩個(gè)小坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • React Native之prop-types進(jìn)行屬性確認(rèn)詳解

    React Native之prop-types進(jìn)行屬性確認(rèn)詳解

    本篇文章主要介紹了React Native之prop-types進(jìn)行屬性確認(rèn)詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12

最新評(píng)論