- Objective: - Breadcrumb: # 概念阐释 组件是 React 中的最小可重用代码块。 # 实例 在网页中,我们可以创建搜索组件、导航栏组件、仪表盘组件等等,也可以用[[React 组件 函数组件]]创建新的自定义组件。 - import [[React 组件 React]] - import [[React 组件 ReactDOM]] # 相关内容 ## React文件 - 在 React 应用程序中通常有两个文件: - `App.js`是应用程序顶层文件 - `index.js`是入口点 ## Importing and Exporting React 组件 ```jsx //在 App.js文件中 import React from 'react'; function MyComponent() { return <h1>Hello world</h1>; } export default MyComponent; ``` ```jsx //在 index.js文件中 import React from 'react'; import ReactDOM from 'react-dom/client'; import MyComponent from './App';//这里的 App 没有.js ``` ## React组件渲染 渲染的代码在`index.js`页面中添加,实现渲染首先要引入`react-dom`library中的`.creatRoot()`和`.render()`两个方法。 - `.creatRoot()`方法用于告诉 React 内容放在哪里 - `.render()`方法用于渲染内容 ```jsx import React from 'react'; import ReactDOM from 'react-dom/client'; import MyComponent from './App'; ReactDom.creatRoot(document.getElementById('app')).render(<MyComponent />); ``` - `document.getElementById('app')` 从 **index.html** 返回一个 DOM 元素。 - `.createRoot()` 接收 DOM 元素作为第一个参数,并为其创建根。 - `.render(<MyComponent />);` React 将在根目录中显示 `<MyComponent />` 并使其出现在屏幕上。 和[[JSX 渲染]]的不同是: - 直接引入`.createRoot()`方法 - `.render()`中的变量名写法 # 参考资料 - [Importing and Exporting React Components](https://www.codecademy.com/journeys/full-stack-engineer/paths/fscj-22-front-end-development/tracks/fscj-22-react-part-i/modules/wdcp-22-react-components-860d3f06-e0ad-456f-b7fa-d5aef4dd565d/lessons/your-first-react-component/exercises/react-101-importing-and-exporting-react-components) - [[js modules 导入和导出]] - [[js modules 默认导出和导入]]