将组件抽离为单独的 .jsx 文件|学习笔记

简介: 快速学习将组件抽离为单独的 .jsx 文件

开发者学堂课程【React 入门与实战快速学习将组件抽离为单独的 .jsx 文件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8090


将组件抽离为单独的 .jsx 文件


目录

一、将组件抽离为单独的 jsx 文件的示例操作

二、将组件抽离为单独的 jsx 文件的定义和注意事项


一、将组件抽离为单独的 jsx 文件的示例操作

1、这里特意把组件 Hell 首字母改成大写,这样就醒目一点,会知道他是一个函数。如果写的是小写,那下面用的时候,可能就会报错,所以组件的名称首字母必须要用大写。

2、组件一般都要单独的放在一个文件当中去,所以所有的源代码都要放在 src 里面,先在src里面建立一个 components 文件夹,然后在这个文件夹里建立 Hello.jsx 组件(组件一般放在 jsx 当中,想要这个组件被正常的解析,就需要确保webpack.config.js 里面是否加了 jsx ,这一步是一定要加上的)。

Hello.jsx

Import React from react

//第一种创建组件的方式,下面这这步叫创建并导入组件

Export default Function Hell(props){

//如果 在一个组件种 return 一个 null 。则表示此组件式空的,什么都不会渲染

//return null

//在组件种,必须返回一个合法的 JSX 虚拟 DOM 元素

//props.name =zs

//第一种创建组件的方式

//组件必须单独的存放到一个文件中

//组件存放到 jsx 文件夹内

function Hello(props){  

//使用名称必须与后面统一,组件的首字母必须是大写,否则会被系统认定成普通的标签来进行渲染,然后报错。

console.log(props)

//所有的源代码都必须存放到 src 目录下

//结论:不论是 vue 还是 React,组件中的 props 永远都是只读的;不能被重新赋值;

 return

这是Eello组件--- {props.name}--- {props.age)--- {props.gender}

}


二、将组件抽离为单独的 jsx 文件的定义和注意事项

1.父组向子组件传递数据

2.使用(…ob)属性扩散传递数据

3.将组件封装到单独的文件中

4.注意:组件的名称首字母必须大写

为了对项目中创建的组件更好地管理,在src目录下新建components目录,用于存放将来要创建的组件。

Hello 组件为例,演示组件导出与导入:

components目录下的Hello.jsx

import React from "react"

function Hello(props){

return

Hello,{props.name}

;

}

//把组件暴露出去

export default Hello;

index.js:

//导入包

import React from "react"

import ReactDOM from "react-dom.jsx"

//导入 Hello 组件

//默认,如果不做单独的配置的话,不能省略后缀名 .jsx

import Hello from "./components/Hello.jsx"

注意:如果后面省略后缀名 .jsx 就会报错

ReactDOM.render(

,

document.getElementById("app")

);

在组件中需要导入React,创建完组件之后通过export default将组件暴露出去;在需要用到该组件的文件中通过import引入该组件。

注意:在引入的时候不能省略 .jsx 后缀名。

相关文章
|
1月前
|
设计模式 JavaScript 前端开发
Vue.js组件设计模式:构建可复用组件库
在Vue.js中,构建可复用组件库是提升代码质量和维护性的核心策略。采用单文件组件(SFC),定义props及默认值,利用自定义事件和插槽进行灵活通信,结合Vuex或Pinia的状态管理,以及高阶组件技术,可以增强组件的功能性和灵活性。通过合理的抽象封装、考虑组件的可配置性和扩展性,并辅以详尽的文档和充分的测试,能够打造出既高效又可靠的组件库。此外,采用懒加载、按需导入技术优化性能,制定设计系统和风格指南确保一致性,配合版本控制、CI/CD流程和代码审查机制,最终形成一个高品质、易维护且具有良好社区支持的组件库。
53 7
|
2月前
|
开发框架 前端开发 JavaScript
循序渐进VUE+Element 前端应用开发(22)--- 简化main.js处理代码,抽取过滤器、全局界面函数、组件注册等处理逻辑到不同的文件中
循序渐进VUE+Element 前端应用开发(22)--- 简化main.js处理代码,抽取过滤器、全局界面函数、组件注册等处理逻辑到不同的文件中
|
2月前
|
JavaScript
vue2【详解】mixins —— 抽离公共逻辑
vue2【详解】mixins —— 抽离公共逻辑
20 0
|
4月前
|
JavaScript 前端开发
除了ES6的模块导出语法,还有哪些其他的方式可以在Vue项目中进行模块化开发?
除了ES6的模块导出语法,还有哪些其他的方式可以在Vue项目中进行模块化开发?
32 2
|
4月前
|
JavaScript
组件中写选项的顺序(vue的问题)
组件中写选项的顺序(vue的问题)
25 0
|
4月前
|
JavaScript
Vue定义全局组件的三种方式
Vue定义全局组件的三种方式
35 0
|
4月前
|
JavaScript 前端开发 API
【Vue3】Hooks:一种全新的组件逻辑组织方式
【Vue3】Hooks:一种全新的组件逻辑组织方式
|
4月前
|
前端开发
什么是抽离样式模块如何使用
什么是抽离样式模块如何使用
52 0
【Vue3 第十三章】动态组件 & 递归组件 & 组件别名
【Vue3 第十三章】动态组件 & 递归组件 & 组件别名
199 0
antd组件库封装41-文件结构和代码规范
antd组件库封装41-文件结构和代码规范
87 0
antd组件库封装41-文件结构和代码规范