一、组件的定义
1、通过函数function定义一个组件
function HelloMessage(props) {
return <h1>Hello World!</h1>;
}
2、通过class定义一个组件
方式一:
class Welcome extends React.Component {
render() {
return <h1>Hello World!</h1>;
}
}
方式二:
import React, { Component } from 'react'
class Welcome extends Component {
render() {
return <h1>Hello World!</h1>;
}
}
3、用户自定义组件
const element = <HelloMessage /> 为用户自定义的组件。
注意:原生 HTML 元素名以小写字母开头,而自定义的 React 类名以大写字母开头,比如 HelloMessage 不能写成 helloMessage。除此之外还需要注意组件类只能包含一个顶层标签,否则也会报错。
二、组件传值
向组件传递参数,以下name属性通过props.name获取。
function HelloMessage(props) {
return <h1>Hello {props.name}!</h1>;
}
const element = <HelloMessage name="Runoob"/>;
ReactDOM.render(
element,
document.getElementById('example')
);
运行结果:
注意:在添加属性时, class 属性需要写成 className ,for 属性需要写成 htmlFor ,这是因为 class 和 for 是 JavaScript 的保留字。
复合组件传值:
function Name(props) {
return <h1>网站名称:{props.name}</h1>;
}
function Url(props) {
return <h1>网站地址:{props.url}</h1>;
}
function Nickname(props) {
return <h1>网站小名:{props.nickname}</h1>;
}
function App() {
return (
<div>
<Name name="小明" />
<Url url="http://www.baidu.com" />
<Nickname nickname="明儿" />
</div>
);
}
ReactDOM.render(
<App />,
document.getElementById('example')
);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/149823.html