React元素创建后无法修改其内容和属性。唯一的办法是创建新的元素,传入ReactDOM.render()方法

三种实现形式:

1.整体替换

function tick () {
const ele=(
<div>
<h1>更新元素</h1>
<h2>现在是:{new Date().toLocaleTimeString()}</h2>
</div>) ;
ReactDOM.render(
ele,
document.getElementById('example')
)
}
setInterval(tick,1000);

2.将要展示的部分封装起来

function Clocks (props) {
return (
<div>
<h1>Hello,world</h1>
<h2>现在是{props.date.toLocaleString()}</h2>
</div>
)
}
function tick () {
ReactDOM.render(
<Clock date={new Date()}>,
document.getElementById('example')
)
}
setInterval(tick,1000)

解析:每隔1秒执行tick  触发Clock 将参数传递到Clock函数中,修改html

3.创建React.Component的类,封装要显示的元素

class Clock extends React.Component{
render(){
return (
<div>
<h1>Hello world</h1>
<h2>现在是{this.props.date}</h2>
</div>
)
}
}
function tick (){
ReactDOM.render(
<Clock date={new Date()}/>,
document.getElementById('example')
)
}
setInterval(tick,1000)

React会对比元素内容的先后不同,渲染的时候只更新不同的部分

React更新元素 基础的更多相关文章

  1. php Hash Table(四) Hash Table添加和更新元素

    HashTable添加和更新的函数: 有4个主要的函数用于插入和更新HashTable的数据: int zend_hash_add(HashTable *ht, char *arKey, uint n ...

  2. React Native 入门基础知识总结

    中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...

  3. 获取更新元素文本html()

    html() 方法,获取元素文本,包含元素标签,也可以设置元素的文本值(包含元素标签),还可以包含子元素标签.相当于JavaScript中的innerHTML. <!DOCTYPE html&g ...

  4. 获取更新元素文本text()

    text() 方法,获取元素文本,也可以设置元素的文本值.相 <!DOCTYPE html> <html lang="en"> <head> & ...

  5. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  6. react的新手基础知识笔记

    <!DOCTYPE html> <html> <head> <script src="../build/react.js">< ...

  7. 【温故知新】—— React/Redux/React-router4基础知识&独立团Demo

    前言:React专注View层,一切皆组件:全部使用ES6语法,最新版本为React16. Redux是专注于状态管理的库,和react解耦:单一状态,单向数据流.[独立团github地址] 一.Re ...

  8. react 子元素修改父元素值的一个偏方,虽然简单,但是不建议用,

    this.state.obj = { name: "小明" } <Zizujian obj={this.state.obj} /> // 子组件这样修改父元素的值 // ...

  9. react复习总结(1)--react组件开发基础

    这次是年后第一次发文章,也有很长一段时间没有写文章了.准备继续写.总结是必须的. 最近一直在业余时间学习和复习前端相关知识点,在一个公司呆久了,使用的技术不更新,未来真的没有什么前景,特别是我们这种以 ...

随机推荐

  1. 马凯军201771010116《面向对象程序设计(java)》第四周学习总结

    第一部分:理论知识学习部分 第四章 1.类与对象的基础概念. 对象:即数据,对象有三个特性:行为 .状态.标识. 类是对象,事物的描述和抽象,是具有相同属性和行为的对象集合.对象则是该类事物的实例. ...

  2. itextsharp报错PdfReader not opened with owner password

    itextSharp读取Pdf时报错:PdfReader not opened with owner password 报错原因:pdf文件被用户加密了. 解决办法:在创建pdfReader实例后,加 ...

  3. Quartz在Spring中动态设置cronExpression

    什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文 ...

  4. 全栈爬取-Scrapy框架(CrawlSpider)

    引入 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法 ...

  5. nodeJS文件操作

    让前端觉得如获神器的不是NodeJS能做网络编程,而是NodeJS能够操作文件.小至文件查找,大至代码编译,几乎没有一个前端工具不操作文件.换个角度讲,几乎也只需要一些数据处理逻辑,再加上一些文件操作 ...

  6. IDEA一定要改的八条配置

    引言 坦白说,我很少写这种操作类型的文章.因为这种文章没啥新意,大家操作步骤肯定是一样的.然而,我答应了我的同事小阳,给她出一篇!毕竟人家打算从Eclipse转IDEA了,于是以示鼓励,写一篇给她! ...

  7. listagg乱码问题

    listagg(to_char(ts.tsmc),',') within GROUP (order by  xs.xh) ,先将字段to_char 以后,就可以解决

  8. linux tomcat jvm调优

    修改TOMCAT_HOME/bin/catalina.sh文件: # OS specific support.  $var _must_ be set to either true or false. ...

  9. 防爆等级介绍 - IP65防爆等级和dIIBT4防爆等级的有什么区别?

    IP65 IP是Ingress Protection的缩写,IP等级是针对电气设备外壳对异物侵入的防护等级,如:防爆电器,防水防尘电器,来源是国际电工委员会的标准IEC 60529,这个标准在2004 ...

  10. springboot 中的commandLineRunners接口

    首先看实现了两个接口运行的顺序结果: My1: package com.example.commandlinerunner; import lombok.extern.java.Log;import ...