React中函数组件与类组件的两种使用

简介: React中函数组件与类组件的两种使用

React 创建组件的两种方式

函数组件:使用js函数创建的组件
约定1:函数名称必须以大写字母开头
约定2:函数组件必须要有返回值.
如果返回值为null.表示不渲染任何内容。
return null [什么都不会渲染了]
如果没有return会报错的哈
怎么使用函数组件呢?
直接使用函数名作为组件的标签名。
标签名是双标签也可以是单标签。
为什么React的函数组件必须以大写字母开头呢?
因为:React以此来区分是组件还是普通的React元素

函数组件的使用

//src下的index.js文件【入口文件】
import React from 'react'; //这个是react这个包,我们是需要的
import ReactDOM from 'react-dom'; //这个是react的虚拟dom
//函数组件名以大写字母开头
function Hello() { 
  return (
    <div>我是一个函数组件</div>
  )
}
ReactDOM.render(<Hello/>, document.getElementById('root'))

类组件

使用ES6的class创建的组件.
约定1:类名必须以大写字母开头。
约定2:类组件必须去继承Raect.Component的父类,
从而可以使用父类中提供的属性或者方法。
约定3:类组件必须提供render方法
约定4: render方法必须要有返回值,表示该组件的结构。
如果你想什么都不返回的话,可以返回null
return null [什么都不会渲染了]

类组件的简单使用

import React from 'react'; //这个是react这个包,我们是需要的
import ReactDOM from 'react-dom'; //这个是react的虚拟dom
// 类名必须以大写字母开头。
class Hello extends React.Component{
  // 类组件必须提供render方法
  render() { 
    // render方法必须要有返回值。
    // 返回的使用使用()包裹,推荐。
    return (
      <div>我是一个类组件</div>
    )
  }
}
ReactDOM.render(<Hello/>, document.getElementById('root'))

页面组件很多怎么处理

当我们的页面有很多组件的时候。
我们应该将组件处理出去。
将每个组件放在一个单独的JS文件中。
因为组件是一个独立的个体,
一般我们会放在一个单独的JS文件中去。
如果所有的组件放在同一个文件中。
以后这个文件会越来越大,不利于后期的维护。

抽离组件的步骤

1.创建Hello.js文件
2.引入react.
3.创建组件(函数组件或者类组件)
4.通过 export default 暴露出去
5.在使用的页面中引入
6.使用组件(渲染组件)

抽离组件的简单使用

<!-- 创建Hello.js文件 -->
import React from "react";
class Hello extends React.Component{
    render() { 
        return <div>我是类组件</div>
    }
}
export default Hello
在使用的页面 [在使用的页面中引入]
import Hello  from './Hello';
ReactDOM.render(<Hello/>, document.getElementById('root'))

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

相关文章
|
4月前
|
缓存 前端开发 数据安全/隐私保护
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
211 68
|
4月前
|
缓存 前端开发 Java
在 React 中,组合组件和高阶组件在性能方面有何区别?
在 React 中,组合组件和高阶组件在性能方面有何区别?
194 67
|
4月前
|
前端开发 JavaScript 安全
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
194 62
|
6月前
|
移动开发 前端开发 JavaScript
React音频播放列表组件:常见问题、易错点与解决方案
本文介绍了在React中实现音频播放列表时常见的挑战及解决方案。通过基础实现、常见问题分析和最佳实践,帮助开发者避免状态管理、生命周期控制和事件处理中的陷阱。关键点包括使用`useRef`操作音频元素、`useState`同步播放状态、全局状态管理防止多音频同时播放、以及通过`useEffect`清理资源。还提供了代码示例和跨浏览器兼容性处理方法,确保高效实现功能并减少调试时间。
206 30
|
6月前
|
移动开发 前端开发 UED
React 音频音量控制组件 Audio Volume Control
在现代Web应用中,音频播放功能不可或缺。React以其声明式编程和组件化开发模式,非常适合构建复杂的音频音量控制组件。本文介绍了如何使用HTML5 `&lt;audio&gt;`元素与React结合,实现直观的音量控制系统,并解决了常见问题如音量范围不合理、初始音量设置及性能优化等,帮助开发者打造优秀的音频播放器。
210 27
|
6月前
|
编解码 前端开发 开发者
React 图片组件样式自定义:常见问题与解决方案
在 React 开发中,图片组件的样式自定义常因细节问题导致布局错乱、性能损耗或交互异常。本文系统梳理常见问题及解决方案,涵盖基础样式应用、响应式设计、加载状态与性能优化等,结合代码案例帮助开发者高效实现图片组件的样式控制。重点解决图片尺寸不匹配、边框阴影不一致、移动端显示模糊、加载失败处理及懒加载等问题,并总结易错点和最佳实践,助力开发者提升开发效率和用户体验。
193 22
|
6月前
|
移动开发 前端开发 UED
React 音频进度条组件 Audio Progress Bar
在现代Web开发中,音频播放功能不可或缺。使用React构建音频进度条组件,不仅能实现播放控制和拖动跳转,还能确保代码的可维护性和复用性。本文介绍了如何利用HTML5 `&lt;audio&gt;`标签的基础功能、解决获取音频时长和当前时间的问题、动态更新进度条样式,并避免常见错误如忘记移除事件监听器和忽略跨浏览器兼容性。通过这些方法,开发者可以打造高质量的音频播放器,提升用户体验。
199 6
|
7月前
|
移动开发 前端开发 API
React 音频播放器组件 Audio Player
本文介绍如何使用React创建音频播放器组件,涵盖核心功能如播放/暂停、进度条、音量控制和时间显示。通过HTML5 `&lt;audio&gt;` 元素和React的声明式状态管理,实现交互式音频播放。常见问题包括控件不响应、进度条无法更新和音量控制失灵,并提供解决方案。此外,还讨论了浏览器兼容性、异步错误处理和性能优化等易错点及避免方法。
569 123
|
6月前
|
前端开发 JavaScript
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
167 58
|
6月前
|
前端开发
React 中高阶组件的原理是什么?
React 中高阶组件的原理是什么?
179 57