html remove 元素渲染的使用
元素是构成html remove应用的最小单位,它用于描述屏幕上输出的内容。
constelement=<h1>Hello,world!</h1>;
与浏览器的DOM元素不同,html remove当中的元素事实上是普通的对象,html removeDOM可以确保浏览器DOM的数据内容与html remove元素保持一致。
将元素渲染到DOM中
首先我们在一个HTML页面中添加一个id="example"的<div>:
<divid="example"></div>
在此div中的所有内容都将由html remove DOM来管理,所以我们将其称为"根"DOM节点。
我们用html remove开发应用时一般只会定义一个根节点。但如果你是在一个已有的项目当中引入html remove的话,你可能会需要在不同的部分单独定义html remove根节点。
要将html remove元素渲染到根DOM节点中,我们通过把它们都传递给html removeDOM.render()的方法来将其渲染到页面上:
实例
constelement=<h1>Hello,world!</h1>;
html removeDOM.render(
element,
document.getElementById('example')
);
尝试一下»
更新元素渲染
html remove元素都是不可变的。当元素被创建之后,你是无法改变其内容或属性的。
目前更新界面的唯一办法是创建一个新的元素,然后将它传入html removeDOM.render()方法:
来看一下这个计时器的例子:
实例
functiontick(){
constelement=(
<div>
<h1>Hello,world!</h1>
<h2>现在是{newDate().toLocaleTimeString()}.</h2>
</div>
);
html removeDOM.render(
element,
document.getElementById('example')
);
}
html remove(tick,1000);
尝试一下»
以上实例通过html remove()方法,每秒钟调用一次html removeDOM.render()。
我们可以将要展示的部分封装起来,以下实例用一个函数来表示:
实例
functionClock(props){
return(
<div>
<h1>Hello,world!</h1>
<h2>现在是{props.date.toLocaleTimeString()}.</h2>
</div>
);
}
functiontick(){
html removeDOM.render(
<Clockdate={newDate()}/>,
document.getElementById('example')
);
}
html remove(tick,1000);
尝试一下»
除了函数外我们还可以创建一个html remove.Component的ES6类,该类封装了要展示的元素,需要注意的是在render()方法中,需要使用this.props替换props:
实例
classClockextendshtml remove.Component{
render(){
return(
<div>
<h1>Hello,world!</h1>
<h2>现在是{this.props.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
functiontick(){
html removeDOM.render(
<Clockdate={newDate()}/>,
document.getElementById('example')
);
}
html remove(tick,1000);
尝试一下»
html remove只会更新必要的部分
值得注意的是html removeDOM首先会比较元素内容先后的不同,而在渲染过程中只会更新改变了的部分。
html remove安装html removeJSX
改版写法:
1.使用ES6类写法,用this.props.属性名来取值。
2.可以多层props来传值,在html removeDOM.render定义属性值,传给调用方法App,再在调用的ES6类调用中用props.属性直接赋值过去。
varmyStyle={color:'red',textAlign:'center'}
classNameextendshtml remove.Component{
render(){
return<h1style={myStyle}>网站名称:{this.props.name}</h1>;
}
}
classUrlextendshtml remove.Component{
render(){
return<h1>网站地址:{this.props.url}</h1>;
}
}
classNicknameextendshtml remove.Component{
render(){
return<h1>网站地址:{this.props.nickname}</h1>;
}
}
functionApp(props){
return(
<div>
<Namename={props.name}/>
<Urlurl={props.url}/>
<Nicknamenickname={props.nickname}/>
</div>
);
}
多个属性的传入注意不用逗号或分号隔开而是空格符隔开:
html removeDOM.render(
,
document.getElementById('example')
);
最新文章
-
1
如何优化移动端用户体验(移动端用户体验决定手机网站建设的成败)
-
2
Java实现SEO优化,提高网站运行效率(使用Java技术)
-
3
HTML5网站在SEO优化方面的优势(为什么HTML5网站更容易被搜索引擎收录)
-
4
SEO的用处——优化你的网站(从提高排名到提升用户体验)
-
5
40天内实现百度首页排名的经验分享(如何利用SEO技巧在短时间内提升网站排名)
-
6
360搜索推出“后羿”算法,帮助用户精准搜索(提升搜索结果的准确性)
-
7
2024年的SEO优化(探索新技术)
-
8
如何读懂SEO优化报表(掌握SEO优化报表分析技巧)
-
9
探究网站建设价格背后的秘密(影响网站建设价格的因素)
-
10
2024年十大网站设计系统揭晓(新时代设计系统创造美好网络生活)