003|React之Elements&Components

元素

在每一个React制作的页面中,必须有一个根div,如:

<div id="root"></div>

当React代码执行时,通过ReactDOM.render()将React元素或React组件添加进div中,以使得页面被绘制:

const element = <h1>Hello, world</h1>;
ReactDOM.render(
  element,
  document.getElementById('root')
); // 第二个参数是要插入的DOM对象

React一旦创建就无法更改,你无法修改它的特性和子元素。通常来说ReactDOM.render()只应该被调用一次。

组件

组件像是一个类,可以创建多个组件实例,每个实例有自己特定的特定属性。
可以通过函数的方式来创建一个组件:

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

只要接受一个props参数的函数都可以是有效的JSX组件。不接受props参数的也可是一个有效的JSX组件,前提是函数内不使用props对象。注意props全部小写,且只读。

我们也可以通过class语法来创建组件:

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

前面看到,JSX表达式可以使用HTML标签,实际上JSX表达式还可以使用组件作为标签。例如,对于上述 Welcome组件,我们可以像下面这样引用:

const element = <Welcome name="Sara" />;

将上述代码组合在一起后,完整代码如下:

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

const element = <Welcome name="Sara" />;
ReactDOM.render(
  element,
  document.getElementById('root')
);

将会输出 Hello Sara。
可以多次使用自定义组件:

function App() {
  return (
    <div>
      <Welcome name="Sara" />
      <Welcome name="Cahal" />
      <Welcome name="Edite" />
    </div>
  );
}

ReactDOM.render(
  <App />,
  document.getElementById('root')
);

什么是State?组件中如何处理事件?

好,这一节就到这里。后续我将逐步介绍React技术细节,来慢慢解答上述问题。

想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!微信号:iTekka。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下内容是我在学习和研究React时,对React的特性、重点和注意事项的提取、精练和总结,可以做为React特性...
    科研者阅读 8,308评论 2 21
  • react 基本概念解析 react 的组件声明周期 react 高阶组件,context, redux 等高级...
    南航阅读 1,094评论 0 1
  • 关于JSX 考虑这样一段代码:const element = Hello, world! ;这段代码既不是字符串...
    带三本书阅读 387评论 0 1
  • 3. JSX JSX是对JavaScript语言的一个扩展语法, 用于生产React“元素”,建议在描述UI的时候...
    pixels阅读 2,919评论 0 24
  • 题目要求 The string "PAYPALISHIRING" is written in a zigzag p...
    SiyueLin阅读 287评论 0 0