91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React的createFactory怎么使用

發布時間:2022-04-20 15:58:38 來源:億速云 閱讀:176 作者:iii 欄目:大數據

本文小編為大家詳細介紹“React的createFactory怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“React的createFactory怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

下面我們先看官網解釋

React.createFactory

factoryFunction createFactory(
  string/ReactClass type
)

上面函數返回一個用于生成給定類型的ReactElement的函數,類似于 React.createElement。對于type參數可以是html標簽名字(例如:“div”,“li”等),也可以是ReactClass對象。

以上就是官網上面的createFactory的說明,但是對于這個方法的使用,官網上面并沒有具體的例子。對于這個方法的概念的說明,我覺得還是官網上的比較權威。我在這里只對createFactory的使用進行說明。

type參數為html標簽名字

首先我們來看官網上的一個例子

例一

var child1 = React.createElement('li', null, 'First Text Content');
var child2 = React.createElement('li', null, 'Second Text Content');
var root = React.createElement('ul', { className: 'my-list' }, child1, child2);
ReactDOM.render(root, document.getElementById(content));

這個例子通過createElement方法創建了兩個li標簽,然后通過createElement方法創建了ul標簽,并將li標簽添加為ul的子節點。關于createElement的使用各位可以參考官網的解釋

下面我們通過createFactory來修改這個例子

例二

var factory = React.createFactory("li");
var child1 = factory(null,'First Text Content');
var child2 = factory(null,'Second Text Content');
var root  = React.createElement('ul',{className:'my-list'},child1,child2);
ReactDOM.render(
        root,
        document.getElementById('content')
);

當然,ul也可以通過創建一個工程方法來生成ul標簽,但是在我們這個例子中只有一次ul的創建,所以我們可以通過createElement來創建ul元素。當然我們可以再生成一個ul的工廠方法用于生成ul元素,代碼如下

例三

var factory = React.createFactory("li");
var child1 = factory(null,'First Text Content');
var child2 = factory(null,'Second Text Content');
var ulfactory = React.createFactory('ul');
var root  = ulfactory({className:'my-list'},child1,child2);
ReactDOM.render(
        root,
        document.getElementById('content')
);

除此之外,React還為HTML標簽提供了內置的工廠方法 React.DOM.HtmlTag。同樣我們使用內置的工廠方法修改上面的例子

例四

var factory = React.createFactory("li");
var child1 = factory(null,'First Text Content');
var child2 = factory(null,'Second Text Content');
var root = React.DOM.ul({className:'my-list'},child1,child2);
ReactDOM.render(
        root,
        document.getElementById('content')
);

同樣的對于li元素我們也可以使用內置的工廠方法,代碼如下

例五

var root = React.DOM.ul(
        {className:'my-list'},
        React.DOM.li(null,'First Text Content2'),
        React.DOM.li(null,'Second Text Content2')
);
ReactDOM.render(
        root,
        document.getElementById('content')
);

這樣的代碼看起來是不是更簡單。

以上所有就是指定參數類型為html標簽名字的工廠方法的使用。下面我們看使用指定參數類型為ReactClass的使用方法。

type參數為ReactClass

同樣我們通過指定參數為ReactClass對例一進行改寫。代碼如下

例六

var cli = React.createClass({
    render: function(){
        return (
            <li>
                {this.props.text}
            </li>
        );
    }
});
var factory = React.createFactory(cli);
var child1 = factory({text:'First Text Content'});
var child2 = factory({text:'Second Text Content'});
var root = React.DOM.ul({className:'my-list'},child1,child2);
ReactDOM.render(
        root,
        document.getElementById('content')
);

在上面的例子中,通過使用ReactClass的方式創建li的工廠方法,在生成li元素的時候不能再使用下面的情況

var child1 = factory(null,'First Text Content');
var child2 = factory(null,'Second Text Content');

因為如果使用這樣的方式,雖然可以創建成功li元素,但是li中的文本并沒有被生成。所以我們需要借助props來生成其文本。

同樣對于ul元素,我們也可以使用ReactClass的方式先生成工廠方法,然后再使用工廠方法創建ul元素。使用方法是相同的,在這里我就不再舉例子了。

讀到這里,這篇“React的createFactory怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛扎县| 武山县| 曲靖市| 柳州市| 和平区| 高雄市| 鄯善县| 尖扎县| 镶黄旗| 库车县| 含山县| 呼和浩特市| 佛教| 邵阳市| 钟祥市| 韶关市| 新绛县| 北海市| 万山特区| 麻江县| 义乌市| 竹溪县| 桐梓县| 博湖县| 北川| 石柱| 淮北市| 突泉县| 鄂尔多斯市| 金山区| 潜山县| 天津市| 炉霍县| 公安县| 临猗县| 景泰县| 中方县| 抚宁县| 榕江县| 军事| 荣成市|