React中文教程 - Component Basics组件基础

1. 什么是组件?

React,一切尽是组件!

可以为React组件传递参数等,这些组件可以附件到已经存在页面中的任何DOM节点;使用React.renderComponent这个方法:

// Replaces everything in `document.body` with <div>Hello,world!</div>;
React.renderComponent(<div>Hello,world!</div>,document.body);
一改常规,此处的DIV不是DOM节点!

2. 组件类型

有两种组件:复合组件DOM

2.1 复合组件

大部分React代码都是组件的扩展,复合组件和DOM还可以混合使用构成更复杂高级的组件;

/** @jsx React.DOM */
var LinkButton = React.createClass({
  render: function() {
    return <a className="btn" />;
  }
});
var myButton = <LinkButton />;
上面使用React.createClass创建一个LinkButton组件,render()函数返回一个<a />DOM节点

2.2 DOM组件

React中的DOM概念其实也是复合组件,它由@jsx React.DOM文档标识块声明,常见DOM基本都已经包括在内,上节JSX语法已经描述过。

尽管React的DOM概念与常规DOM很相似,但也有一些不同的:

  • 所有属性(包括事件)都使用驼峰命名法
  • JavaScript标识符也一样,即className和htmlFor
  • 样式表style使用属性的方式定义,例如{backgroundColor: '#f00'}

下面定义一个有点击时间的链接

/** @jsx React.DOM */
var handleClick = function() {alert('Clicked!');};
var inlineStyle = {textDecoration: 'none'};
var myLink = <a className="btn" onClick={handleClick} style={inlineStyle} />;


您可以修改并重新发布本文,如果您能留下本文的参考连结,万分谢谢! 如果您对本文存在疑问,欢迎留言或者直接对本文评论,我会在看到的第一时间回复您。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...