元素渲染
- 当前时间
<div id="example"></div>
<script type="text/babel">
function tick() {
const element = (
<div>
<h2>{new Date().toLocaleDateString()}.</h2>
<h2>{new Date().toLocaleString()}.</h2>
<h2>{new Date().toString()}.</h2>
<h2>{new Date().toTimeString()}.</h2>
<h2>{new Date().toLocaleTimeString()}.</h2>
<h2>{new Date().toUTCString()}.</h2>
</div>
);
ReactDOM.render(
element,
document.getElementById('example')
);
}
setInterval(tick, 1000);
</script>
- 将当前时间封装为函数
<div id="example"></div>
<script type="text/babel">
function Clock(props) {
return (
<div>
<h2>{props.date.toLocaleTimeString()}.</h2>
</div>
);
}
function tick() {
ReactDOM.render(
<Clock date={new Date()} />,
document.getElementById('example')
);
}
setInterval(tick, 1000);
</script>
组件定义的两种方式
-
1.定义组件最简单的方式就是编写 JavaScript 函数。
注意: 组件名称必须以大写字母开头1.调用 ReactDOM.render() 函数,传入 作为参数
2.React 调用 Welcome 组件,并将 {name: ‘Sara’} 作为 props 传入
3.Welcome 组件将<h1>Hello, Sara</h1>
元素作为返回值
4.React DOM 将 DOM 高效地更新为<h1>Hello, Sara</h1>
<div id="example"></div>
<script type="text/babel">
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
const element = <Welcome name="Sara" />
ReactDOM.render(
element,
document.getElementById('example')
);
</script>
- 2.除了函数外我们还可以创建一个
React.Component
的 ES6 类,该类封装了要展示的元素,需要注意的是在render()
方法中,需要使用this.props
替换props
<div id="example"></div>
<script type="text/babel">
class Clock extends React.Component {
render() {
return (
<div>
<h2>{this.props.data.toLocaleTimeString()}</h2>
</div>
)
};
}
function tick() {
ReactDOM.render(
<Clock data={new Date()}/>,
document.getElementById('example')
)
}
setInterval(tick, 1000);
</script>