react组件入门

react应用程序就是由一个个组件搭建而成。组件有类组件和函数组件两种。

我们之前使用create-react-app创建了app,src下放的就是我们应用的源代码,我们基于这些已生成的文件,来学习和验证组件。

类组件

这里我们创建PostList.js更改这个app。

javascript 复制代码
// src/PostList.js
// 必须import和extends react的component
import React from "react";
// 组件标签的名字首字母必须大写,这里必须采用驼峰书写方式
class PostList extends React.Component {
  // 类组件内部必须有一个render,render方法返回代表该数组件UI的
  // React元素
  render() {
    return {
      <div>
        post list
        <ul>
          <li> post 1 </li>
          <li> post 2 </li>
          <li> post 3 </li>
        </ul>
      </div>  
    };
  }
}
// 将PostList作为默认模块导出,从而可以再其他js文件中导入PostList使用
export default PostList;

这个代码段定义了一个博客列表。 index.js是默认程序的入口。我们实现以下变更:

bash 复制代码
diff --git a/src/index.js b/src/index.js
index d563c0f..8dd4562 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,13 +1,14 @@
 import React from 'react';
 import ReactDOM from 'react-dom/client';
 import './index.css';
-import App from './App';
+//import App from './App';
+import PostList from './PostList'
 import reportWebVitals from './reportWebVitals';
 
 const root = ReactDOM.createRoot(document.getElementById('root'));
 root.render(
   <React.StrictMode>
-    <App />
+    <PostList />
   </React.StrictMode>
 );

我们刷新localhost:3000,就可以看到更新了。

函数组件

function ComponentName就是函数组件。我们在类组件基础上添加函数组件。

javascript 复制代码
diff --git a/src/index.js b/src/index.js
index d563c0f..ac9a9d4 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,13 +1,27 @@
 import React from 'react';
 import ReactDOM from 'react-dom/client';
 import './index.css';
-import App from './App';
+//import App from './App';
+import PostList from './PostList'
 import reportWebVitals from './reportWebVitals';
 
+function PostList1() {
+  return (
+      <div>
+        post list 1
+        <ul>
+          <li> post 4 </li>
+          <li> post 5 </li>
+          <li> post 6 </li>
+        </ul>
+      </div>
+    );
+}
 const root = ReactDOM.createRoot(document.getElementById('root'));
 root.render(
   <React.StrictMode>
-    <App />
+    <PostList />
+    <PostList1 />
   </React.StrictMode>
 );

刷新app,我们看到,此时的界面为:

我们这里举的例子是最简单的类组件和函数组件,后面我们陆续介绍二者丰富的用法。

相关推荐
sg_knight3 分钟前
MinIO自带的Web Console管理后台怎么用?日常管理操作全解
前端·文件管理·minio·ftp·cos·oss
Goodwin3 分钟前
TypeScript 成 AI 应用层标配?GitHub Trending 告诉你2026前端往哪走
前端·人工智能·github
风筝与风待过的地方8 分钟前
Vue2 到 Vue3:性能飞跃与 Diff 算法革命
前端
爱上妖精的尾巴12 分钟前
WPS JS宏编程教程学习笔记目录
前端
前端小咸鱼一条23 分钟前
15.Symbol类型
前端·javascript·vue.js
二十一_44 分钟前
炸了!Claude Code 51万行源码全部泄露,我已经拿到了完整代码
前端·langchain·claude
RePeaT1 小时前
npm 依赖版本号中 `^` 和 `~` 到底有什么区别?
前端·javascript·npm
DanCheOo1 小时前
多模型适配:一套代码接 6 家 AI 厂商
前端·ai编程
米丘1 小时前
Node.js 事件循环
前端·javascript·node.js
Forever7_1 小时前
紧急!Axios 被投毒,3亿项目受到影响!教你怎么自查!
前端·axios