簡單的理解react高階組件(Higher-Order Components)

  • 高階組件(HOC)是 React 中用於複用組件邏輯的一種高級技巧
  • 高階組件的參數為一個組件返回一個新的組件
  • 組件是將 props 轉換為 UI,而高階組件是將組件轉換為另一個組件
  • 一個簡單的列子

    UserInfoHoc.js

    <code>import React,{ Component } from 'react';
    
    const UserInfoHoc = ( WrappedComponent ) =>{// WrappedComponent指被包裝的 React.Component
        class UserInfo extends Component{ //類名可以省略,省略的話標籤名就是以temp或者其他的代替,必須要有返回值
            constructor(props) {
                super(props);
                this.state = {
                    username: '張三',
                }
            }
            render () {
                return (
                    // 將參數當做一個組件返回出去
                )
            }
        }
        return UserInfo;
    }
    export default UserInfoHoc;
    複製代碼/<code>

    PageA.js

    <code>    
    import React,{ Component } from 'react';
    import UserInfoHoc from './UserInfoHoc';
    
    class PageA extends Component{
        render () {
            return (
                

    A頁面

    { this.props.username } // 使用了高階組件後,這裡就可以直接使用了

    { this.props.username } // 使用了高階組件後,這裡就可以直接使用了

    /<code>

    高階組件就是把username通過props傳遞給目標組件,目標組件只需要從props裡面拿來用就可以

    我們可以使用高階組件來

    • 代碼重用,頁面邏輯更簡單,更易於維護
    • 對state和props進行操作


    分享到:


    相關文章: