ReactJS_03 React 组件

组件从概念上看就像是函数,它可以接收任意的输入值(称之为“props”),并返回一个需要在页面上展示的React元素。

定义组件的两种方法:函数定义组件和类定义组件

函数定义

定义一个组件最简单的方式是使用JavaScript函数:

function HelloMessage(props) {
    return 

Hello World!

; } const element = ; ReactDOM.render( element, document.getElementById('example') );

类定义组件

你也可以使用 ES6 class 来定义一个组件:

class Welcome extends React.Component {
  render() {
    return 

Hello World!

; } } const element = ; ReactDOM.render( element, document.getElementById('example') );

const element = 为用户自定义的组件。

注意:原生 HTML 元素名以小写字母开头,而自定义的 React 类名以大写字母开头,比如 HelloMessage不能写成 helloMessage。除此之外还需要注意组件类只能包含一个顶层标签,否则也会报错。

如果我们需要向组件传递参数,可以使用 this.props 对象:

function HelloMessage(props) {
    return 

Hello {props.name}!

; } const element = ; ReactDOM.render( element, document.getElementById('example') );

以上实例中name属性通过props.name来获取。

注意:在添加属性时, class属性需要写成classNamefor属性需要写成htmlFor ,这是因为classfor 是 JavaScript 的保留字。

复合组件

我们可以通过创建多个组件来合成一个组件,即把组件的不同功能点进行分离。

function Name(props) {
    return 

网站标题:{props.name}

; } function Url(props) { return

网站地址:{props.url}

; } function Nickname(props) { return

网站内容:{props.nickname}

; } function App() { return (
); } ReactDOM.render( , document.getElementById('example') );
ReactJS_03 React 组件_第1张图片
运行结果

案例中App 组件使用了 Name、Url 和 Nickname 组件来输出对应的信息

你可能感兴趣的:(ReactJS_03 React 组件)