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. .net core 生成

    查看发布命令:dotnet publish --help 1:进入项目根目录 2:dotnet publish     或者发布到指定路劲  dotnet publish .\web.meb.scpr ...

  2. linux之安装软件,压缩解压文件

  3. 剑指Offer 37. 数字在排序数组中出现的次数 (数组)

    题目描述 统计一个数字在排序数组中出现的次数. 题目地址 https://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2?tpId ...

  4. 我的第一个爬虫程序:利用Python抓取网页上的信息

    题外话 我第一次听说Python是在大二的时候,那个时候C语言都没有学好,于是就没有心思学其他的编程语言.现在,我的毕业设计要用到爬虫技术,在网上搜索了一下,Python语言在爬虫技术这方面获得一致好 ...

  5. git教程: 查看文件状态与修改内容

    转载:时光机穿梭 我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed ...

  6. 常见模块(一) time/datetime

    1 time模块 1)时间三种格式的转化 2)time模块的相关方法 time.time()  打印当前时间的时间戳 单位是秒 距离1970年1月1日到当前的时间差 time.sleep(n)     ...

  7. ionic使用的一些技巧

    使用ionic总结: 1.全局禁用缓存的方法是:  $ionicConfigProvider.views.maxCache(0); 2. 在不同的用户输入场景下,需要显示不同的键盘模式以方便用户输入, ...

  8. python set 集合复习--点滴

    一.set特性: set是一个无序不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小 ...

  9. redis性能提升之pipeline

    1.以前正常使用过程 客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应. 服务器处理命令并将响应发送回客户端. 也就是每个命令都会有一来以往的过程 2.管道的意义 如果能将连续 ...

  10. Window离线环境下如何安装pyhanlp

    Hanlp在离线环境下的安装我是没有尝试过的,分享SunJW_2017的这篇文章就是关于如何在离线环境下安装hanlp的.我们可以一起来学习一下! HanLP是一款优秀的中文自然语言处理工具,可以实现 ...