React 组件

Posted lukelook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React 组件相关的知识,希望对你有一定的参考价值。

React 组件

var HelloMessage = React.createClass({
  render: function() {
    return <h1>Hello World!</h1>;
  }
});

ReactDOM.render(
  <HelloMessage />,
  document.getElementById(‘example‘)
);

实例解析:

React.createClass 方法用于生成一个组件类 HelloMessage

<HelloMessage /> 实例组件类并输出信息。

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

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

var HelloMessage = React.createClass({
  render: function() {
    return <h1>Hello {this.props.name}</h1>;
  }
});

ReactDOM.render(
  <HelloMessage name="W3CSchool" />,
  document.getElementById(‘example‘)
);

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

注意,在添加属性时, class 属性需要写成 className ,for 属性需要写成 htmlFor ,这是因为 class 和 for 是 javascript 的保留字。

复合组件 我们可以通过创建多个组件来合成一个组件,即把组件的不同功能点进行分离。 以下实例我们实现了输出网站名字和网址的组件:

var WebSite = React.createClass({
  render: function() {
    return (
      <div>
        <Name name={this.props.name} />
        <Link site={this.props.site} />
      </div>
    );
  }
});

var Name = React.createClass({
  render: function() {
    return (
      <h1>{this.props.name}</h1>
    );
  }
});

var Link = React.createClass({
  render: function() {
    return (
      <a href={this.props.site}>
        {this.props.site}
      </a>
    );
  }
});

React.render(
  <WebSite name="W3Cschool教程" site=" https://www.w3cschool.cn" />,
  document.getElementById(‘example‘)
);

 

以上是关于React 组件的主要内容,如果未能解决你的问题,请参考以下文章

React 函数组件与class组件的区别

已解决在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob(代码片段

已解决在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob(代码片段

[译] 如何在React中写出更优秀的代码

是否有用于 React Function 组件的类型,包括返回片段、空值、字符串等?

react简介