# 基本组件(构造函数)
## 定义组件和使用组件基础语法
**通过构造函数定义组件**
`function Name(){ return null }`
**使用组件**
`<Name></name>`
## 案例
~~~
function Hello() {
return <div>
这是一个div
<h1>这是一个大大的h1</h1>
</div>;
}
ReactDOM.render(<Hello></Hello>, document.getElementById('app'))
~~~
<iframe width="100%" height="300" src="//jsrun.net/6FyKp/embedded/all/light" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
# 注意事项
## 组件返回值
~~~
import React from 'react';
import ReactDOMfrom 'react-dom'
function Hello() {
}
ReactDOM.render(<Hello ></Hello>, document.getElementById('app'))
~~~
~~~
Uncaught Invariant Violation: Hello(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.
~~~
Hello组件。没有从呈现返回任何内容。这通常意味着缺少返回语句。或者,若不呈现任何内容,则返回空值
## 在定义组件时组件名称必须以大写开头。
因为是构造函数。如果小写会报以下错误:
~~~
import React from 'react';
import ReactDOMfrom 'react-dom'
function hello() {
return <div>
你好
</div>;
}
ReactDOM.render(<hello ></hello>, document.getElementById('app'))
~~~
这个hello标签浏览器中不存在,如果你想用React组件,那么请用首字母大写开头。
~~~
react-dom.development.js:506 Warning: The tag <hello> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.in hello
~~~
## 总结
定义普通组件,我们可以认为是构造函数。首字母大写。且构造函数中必须手动返回结构如果没有结构手动返回null;
- webpack复习
- React基础
- 前端三大主流框架对比
- React中几个核心的概念
- React基础语法
- React JSX语法
- React组件
- 普通组件
- 组件通信-父向子传递
- 组件拆成单个文件
- 面向对象复习
- Class组件基础
- Class组件的私有状态(私有数据)
- 案例:实现评论列表组件
- 组件样式管理
- 组件样式分离-样式表
- CSS模块化
- 生命周期
- React组件生命周期
- Counter组件来学习组件生命周期
- 生命周期总结
- 生命周期案例
- React评论列表
- React双向数据绑定
- React版todolist
- 其它提高(了解)
- 组件默认值和数据类型验证
- 绑定this并传参的三种方式
- 祖孙级和非父子组件传递数据(了解)
- React路由
- 路由基础
- 动态路由
- 路由严格模式
- 路由导航定位
- 路由重定向
- 路由懒加载
- WolfMovie项目
- 项目初始化
- AntDesign使用
- 其它相关了解