当前位置: 首页> 游戏> 游戏 > 手机网站开发培训_中智项目外包服务有限公司_模板网站_个人发布信息免费推广平台

手机网站开发培训_中智项目外包服务有限公司_模板网站_个人发布信息免费推广平台

时间:2025/7/11 8:45:55来源:https://blog.csdn.net/x1037490413/article/details/146933093 浏览次数:1次
手机网站开发培训_中智项目外包服务有限公司_模板网站_个人发布信息免费推广平台

1.验证Diffing算法

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="test"></div><script src="../js/17.0.1/react.development.js "></script><script src="../js/17.0.1/react-dom.development.js"></script><script src="../js/17.0.1/babel.min.js"></script><!-- 对标签属性进行限制 --><script src="../js/17.0.1/prop-types.js"></script><script type="text/babel">class Time extends React.Component {state = { date: new Date() }componentDidMount() {setInterval(() => {this.setState({ date: new Date() })}, 1000)}render() {return (<div>现在时间是{this.state.date.toTimeString()}<input type="text" /></div>)}}ReactDOM.render(<Time />, document.getElementById('test'))</script>
</body></html>

在这里插入图片描述
这段代码是一个使用 React 编写的时钟组件,它会每秒更新一次当前时间并显示在页面上,输入框的数据始终没变,是因为Diffing算法
在这里插入图片描述

diffing 算法通过比较虚拟 DOM 树的差异,只更新实际 DOM 中发生变化的部分

2.key的作用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
若使用index作为key值:请看代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="test"></div><script src="../js/17.0.1/react.development.js "></script><script src="../js/17.0.1/react-dom.development.js"></script><script src="../js/17.0.1/babel.min.js"></script><!-- 对标签属性进行限制 --><script src="../js/17.0.1/prop-types.js"></script><script type="text/babel">class Person extends React.Component {state = {persons: [{ id: 1, name: "小李", age: 18 },{ id: 2, name: "小张", age: 19 }]}add = () => {const { persons } = this.stateconst p = { id: persons.length, name: '小王', age: 20 }this.setState({ persons: [p, ...persons] })}render() {return (<div>{this.state.persons.map((item, index) => <li key={index}>{item.name}, {item.age}</li>)}<button onClick={this.add}>添加小王</button></div>)}}ReactDOM.render(<Person />, document.getElementById('test'))</script>
</body></html>

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

关键字:手机网站开发培训_中智项目外包服务有限公司_模板网站_个人发布信息免费推广平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: