美文网首页
ReactJS_03 React 组件

ReactJS_03 React 组件

作者: 习惯芥末味 | 来源:发表于2018-10-03 18:33 被阅读0次

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

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

函数定义

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

function HelloMessage(props) {
    return <h1>Hello World!</h1>;
}
 
const element = <HelloMessage />;
 
ReactDOM.render(
    element,
    document.getElementById('example')
);

类定义组件

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

class Welcome extends React.Component {
  render() {
    return <h1>Hello World!</h1>;
  }
}

const element = <Welcome />;
 
ReactDOM.render(
    element,
    document.getElementById('example')
);

const element = <HelloMessage /> 为用户自定义的组件。

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

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

function HelloMessage(props) {
    return <h1>Hello {props.name}!</h1>;
}
 
const element = <HelloMessage name="Runoob"/>;
 
ReactDOM.render(
    element,
    document.getElementById('example')
);

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

注意:在添加属性时, class属性需要写成classNamefor属性需要写成htmlFor ,这是因为classfor 是 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="React.js" />
        <Url url="http://www.https://www.jianshu.com/writer#/notebooks/29971130/notes/34731531/preview.com" />
        <Nickname nickname=" React 组件" />
    </div>
    );
}
 
ReactDOM.render(
     <App />,
    document.getElementById('example')
);
运行结果

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

相关文章

  • ReactJS_03 React 组件

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

  • React基础

    React包含react元素和react组件 react元素 react组件 react组件分为函数组件和类组件 ...

  • 组件

    组件是React的基石,所有的React应用程序都是基于组件的。React组件,可以通过React.createC...

  • ReactNative学习笔记(三)Hello World!

    React Native 看起来很像 React,但React Native的基础组件是原生组件 不是web组件。...

  • react子组件向父组件传值

    相关资料:react 父组件怎么获取子组件的这个值React组件间信息传递方式react同级组件之间传值 • 父...

  • React 进阶二 组件详解

    React组件 React的组件大概分为俩部分,无状态组件和有状态组件 无状态组件。下面React官网中定义的一个...

  • 2、react基础介绍

    React理念 划分组件边界的原则 React组件的数据种类 React组件的声明周期 组件的划分 高内聚 低耦合...

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • react16.3-jest

    功能组件和UI组件 react-antd 命名 react 规定组件开头都为大写,所以如果react项目如果用an...

  • 如何创建React组件并发布到npm?

    实现步骤: 创建React组件项目; 创建测试项目并引用组件; 发布React组件到npm上; 一、创建React...

网友评论

      本文标题:ReactJS_03 React 组件

      本文链接:https://www.haomeiwen.com/subject/qtftaftx.html