React第一天

本文探讨了在React中使用document.getElementsByClassName()的常见错误,解释了如何正确地从DOM中选择元素,并介绍了React元素的不可变性。通过示例展示了如何使用setInterval结合ReactDOM.render()来定时更新界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一坑

关于document.getElementsByClassName()的使用

今天我试用React元素渲染到根DOM节点上,结果一直class一直显示不出来,后来发现是忘记了getElementsByClassName()函数获取的是一个数组

<div class="example"></div>
<script type="text/babel">
ReactDOM.render(
	<h1>Hello, world!</h1>,
	document.getElementsByClassName('example')[0] //此处获取的是一个数组,所以要在getElementsByClassName('example')后面加上[0]
);
</script>

更新

React 元素都是不可变的。当元素被创建之后,你是无法改变其内容或属性的。

目前更新界面的唯一办法是创建一个新的元素,然后将它传入 ReactDOM.render() 方法:

function tick() {
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>现在是 {new Date().toLocaleTimeString()}.</h2>
    </div>
  );
  ReactDOM.render(
    element,
    document.getElementById('example')
  );
}
 
setInterval(tick, 1000);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值