React的函数组件以及类组件介绍
Posted 别Null.了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React的函数组件以及类组件介绍相关的知识,希望对你有一定的参考价值。
目录
React组件介绍
React组件可以将UI切分成一些独立的、可复用的部件, 这样有助于设计人员专注于构建每一个单独的部件。React组件通过Props可以接收任意的输入值, 因此Props也可以理解为参数的概念。React组件除了通过javascript函数形式实现,还可以通过ES6 Class(类)的形式实现。
组件表示页面中的部分功能,组合多个组件实现完整的页面功能。使用React就是在用组件。
特点:可复用、独立、可组合
React组件的两种创建方式
使用组件前的引用(放在head标签中)
<!-- 导入react的核心库 -->
<script src="../js/react.development.js"></script>
<!-- 导入react的DOM库 -->
<script src="../js/react-dom.development.js"></script>
<!-- 编译器:将ES6转换为ES5 -->
<script src="../js/babel.min.js"></script>
使用函数创建组件
函数组件:使用 JS 的函数(或箭头函数)创建的组件
渲染函数组件:用函数名作为组件标签名(组件标签名可以是单标签也可以是双标签)
条件:函数名称必须以大写字母开头,以此区分组件和普通的React元素
函数组件必须有返回值,表示该组件的结构。如果返回值为 null,表示不渲染任何内容。
function Hello() //定义函数
return (
<div>这是我的第一个函数组件!</div>
)
ReactDOM.render(<Hello />,root) //渲染函数组件
函数组件示例:
<div id="react-div"></div>
<script type="text/babel">
const reactDiv = document.getElementById('react-div');
//定义一个函数(组件)
function HelloReact()
return <div>
<h2>React组件:</h2>
<p>我是函数组件</p>
</div>
//引用函数组件
const FunComponent = <HelloReact/>
const reactSpan = (
<span>
FunComponent
</span>
)
//进行DOM的渲染
ReactDOM.render(reactSpan,reactDiv);
//也可进行直接渲染函数组件
//ReactDOM.render(<HelloReact/>,reactDiv);
</script>
示例结果:
使用类创建组件
类组件:使用ES6的class创建的组件
条件: 类名称必须以大写字母开头
类组件应该继承 React.Component 父类,从而可以使用父类中提供的方法或属性
类组件必须提供 render() 方法
render() 方法必须有返回值,表示该组件的结构
class Hello extends React.Component
render()
return <div> Hello Class Component! </div>
ReactDOM.render(<Hello />, root)
类组件示例:
<div id="react-div"></div>
<script type="text/babel">
//定义类:必须是React.Componet的子类
class HelloReact extends React.Component
render()
return <div>
<label>姓名:
<input type="text"/>
</label>
</div>
//定义标签(组件):类名就是标签名(组件名)
const element = <HelloReact/>
const reactDiv = (
<div>
element
</div>
)
//组件渲染
ReactDOM.render(reactDiv,document.getElementById('react-div'))
</script>
当项目中的组件很多,组件作为一个独立的个体,一般都会放到一个单独的JS文件中。
基本步骤:创建Hello.js--->在Hello.js中导入React--->创建组件(函数或类)--->在Hello.js中导出该组件--->在index.js中导入Hello组件--->渲染组件
以上是关于React的函数组件以及类组件介绍的主要内容,如果未能解决你的问题,请参考以下文章