午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - react 組件中的虛擬DOM 操作

瀏覽:160日期:2023-09-07 13:11:38

問題描述

闡述: 本人是 reactJS 的初學(xué)者 ;需求如下: 1、react 組件 aa.jsx

var React = require(’react’); var aaa = React.createClass({render: function(){ return (<p ref='username' className='comment2'> aaaaaaaaa</p> );} }); module.exports = aaa;

2、react 組件 bb.jsx

var React = require(’react’); var aaa = React.createClass({render: function(){ return (<p ref='username' className='comment3'> bbbbbbbbbbbbbbb</p> );} }); module.exports = bbb;

3、react 主入口 main.jsx 需要 根據(jù) 一個(gè) json 文件來加載 所需的組件

json ={ 'data' : [{ 'page' : 'aa'},{ 'page' : 'bb'},{ 'page' : 'cc'} ]} 在主函數(shù)這里 我用了一個(gè)for 循環(huán) for (var i=0 ; i< data.length ; i++){var page = require(’./components/’+ data[i][’page’] +’.jsx’); }

但是問題來, 在這里的page 都是 一個(gè)個(gè)的 函數(shù)。 怎樣 將其中的 dom 塊(p 元素) 取出來 一個(gè)個(gè)有序的 添加到 index.html 頁面上的 某個(gè)指定的 dom元素中去 。

問題解答

回答1:

首先我不明白的是,你的 aa.jsx 和 bb.jsx 既然那么像,為什么還寫兩個(gè)(當(dāng)然也可能是你為了方便寫例子)。既然是多個(gè)不同的文件,它就是不同的 React 組件,如果只是想把它們都渲染在某個(gè) DOM 下,直接把它們放到一個(gè)數(shù)組就好。

下面的代碼我沒有測(cè)試,但應(yīng)該是能用的

const components = [];for (var i=0 ; i< data.length ; i++){ var Page = require(’./components/’+ data[i][’page’] +’.jsx’); components.push(<Page />);}

在要嵌入的地方,JSX 代碼

<FatherComponent> {components}</FatherComponent>

如果是要隨時(shí)更新它,重新渲染就行了,可以用 this.state.components

你可以來看看我們翻譯的 React 文檔

回答2:

這跟虛擬dom沒關(guān)系,雖然我不知道你為什么這樣用~但你這樣用法就是錯(cuò)的!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 亚洲啊v | 欧美日韩精品久久久免费观看 | 欧美成人自拍视频 | 91香蕉在线观看 | 精品一区二区三区免费 | 亚洲视频在线观看一区 | 欧美国产中文字幕 | 麻豆国产91在线播放 | 国产激情视频在线播放 | 成人一区二区三区在线观看 | 蜜臀视频网站 | 婷婷午夜 | 国产精品日韩欧美大师 | 99久久国产精 | 国产女人视频 | 精品国产户外野外 | 黄网视频在线观看 | 国产成人在线一区 | 成人免费大片黄在线播放 | 国产成人精品综合久久久久99 | 51精产品一区一区三区 | 亚洲精品久久久久 | 欧美精品999| 成人免费视频一区 | 久久国产区 | 中文字幕99 | 永久免费看片在线观看 | 日韩欧美中文字幕在线视频 | 国产欧美91 | 国产午夜久久 | 免费看久久 | 欧美第一页在线 | 亚洲天天干 | 欧美色插| 麻豆视频91| 亚洲在线视频观看 | 美国黑人一级大黄 | 亚洲人体在线 | av第一页 | 在线视频亚洲 | 欧日韩av|