来源:哔哩哔哩
2023-06-27 06:23:39
我们将探讨组件结构的重要性以及它如何有助于创建高度可重用、模块化且易于维护的组件。
在 React 中构建可重用和可维护的组件不仅仅是编写代码;还需要编写代码。它涉及采用最佳实践并遵循合理的架构原则。
通过仔细构建我们的组件,遵守单一职责原则,并采用原子设计和组件组合等概念,我们可以创建更加模块化、更易于测试和更易于维护的代码。
(资料图)
这种方法可以实现更高效的开发过程,并最终产生高质量、可扩展的 React 应用程序。
(更|多优质内|容:java567 点 c0m)
让我们考虑一个在 React 中实现的 Todo 应用程序的示例。
// ❌ Bad code with multiple responsibilities import React, { useState } from 'react'; const TodoApp = () => { // Handling state ❌ const [todos, setTodos] = useState([]); const [newTodo, setNewTodo] = useState(''); // Handle input change ❌ const handleInputChange = (e) => { setNewTodo(); }; // Handle todo logic ❌ const handleAddTodo = () => { if (() !== '') { const updatedTodos = [...todos, newTodo]; setTodos(updatedTodos); setNewTodo(''); } }; const handleDeleteTodo = (index) => { const updatedTodos = ((_, i) => i !== index); setTodos(updatedTodos); }; const handleCompleteTodo = (index) => { const updatedTodos = ((todo, i) => { if (i === index) { return { ...todo, completed: ! }; } return todo; }); setTodos(updatedTodos); }; // ❌ It doesn't provide a clear separation of smaller reusable components. return ( <div> <h1>Todo App</h1> <input type="text" value={newTodo} onChange={handleInputChange} /> <button onClick={handleAddTodo}>Add Todo</button> <ul> {((todo, index) => ( <li key={index}> <span style={{ textDecoration: ? 'line-through' : 'none' }}>{}</span> <button onClick={() => handleDeleteTodo(index)}>Delete</button> <button onClick={() => handleCompleteTodo(index)}> { ? 'Mark Incomplete' : 'Mark Complete'} </button> </li> ))} </ul> </div> ); };
上面的代码库包含一个组件,它处理从呈现 UI到处理数据和状态管理的所有事务。这种单一的方法导致缺乏关注点分离,并且违反了SRP和原子设计原则。
为了改进代码,我们可以遵循SRP和原子设计原则:
单一职责原则(SRP)
该原则指出,类或组件应该有单一的职责或单一的更改原因。通过使组件专注于特定任务,您可以提高代码的可读性、可维护性和可重用性。
它促进将复杂的功能分解为更小、更集中的部分,更容易理解、测试和维护。
它鼓励组件有明确和具体的职责,增强其可重用性和可维护性。
它通过让组件专注于特定任务来帮助避免紧密耦合的组件。
让我们分解一下整体,
TodoInput:将输入处理逻辑提取到单独的useTodoInput自定义挂钩和组件中TodoInput。
负责处理用户输入并添加新的待办事项。
TodoList:将待办事项列表处理逻辑提取到单独的useTodoList自定义挂钩和组件中TodoList。
负责呈现待办事项列表。
TodoItem:将各个待办事项的渲染逻辑移至单独的TodoItem组件中。
负责渲染单个待办事项。
通过将状态和事件处理逻辑分离到自定义挂钩或组件中,我们确保每个组件都有以下单一职责。
待办事项输入
useTodoInput自定义挂钩可以使用 useState 挂钩管理输入状态并处理输入更改事件
使用
// ✅ Responsible for manage state and UI events import { useState } from "react"; const useTodoInput = (onAddTodo) => { const [inputValue, setInputValue] = useState(""); const [disabled, setDisabled] = useState(true); const handleSubmit = (e) => { (); onAddTodo(inputValue); clearInput(); }; const handleInputChange = (e) => { const value = ; setInputValue(value); setDisabled(() === ""); }; const clearInput = () => { setInputValue(""); setDisabled(true); }; return { disabled, inputValue, handleInputChange, handleSubmit }; }; export { useTodoInput };
通过使用自定义钩子,我们可以以可重用和模块化的方式封装状态和事件处理逻辑,从而提高代码的可重用性和可维护性。
将与输入字段、“添加待办事项”按钮和待办事项列表相关的 JSX 代码移至单独的 JSX 文件中。
// // ✅ Responsible for rendering TodoInput UI const TodoInput = ({ onAddTodo }) => { const { disabled, inputValue, handleInputChange, handleSubmit } = useTodoInput(onAddTodo); return ( <form className="todo-input" onSubmit={handleSubmit}> <input type="text" value={inputValue} onChange={handleInputChange} placeholder="Add a todo" /> <button className={`add-button ${disabled ? "disabled" : ""}`} disabled={disabled} type="submit" > Add </button> </form> ); };
通过将 JSX 代码分成单独的文件,我们可以提高代码的组织性和可读性,从而更容易维护和理解组件结构。
像这样我们需要拆分TodoItem和TodoList。
这种重构方法通过为每个组件分配单一职责来遵守 SRP,利用自定义挂钩进行状态和事件处理,并将 JSX 代码分离为可重用的组件,从而提高 React 应用程序的模块化性和可维护性。
最后,组件结构如下所示,
// ✅ Component Stucture components/ ├── todo-input/ │ ├── │ ├── │ └── ├── todo-item/ │ ├── │ └── ├── todo-list/ │ ├── │ ├── │ └── └── ...
您可以在codesandbox 中查看整个代码库。
我们可以使用原子设计原则进一步重构这个代码库。
原子设计原理
原子设计是一种根据组件的抽象级别和复杂性以分层方式设计和组织组件的方法。
它将组件分为五个级别:原子、分子、有机体、模板和页面,每个级别都有特定的职责。
原子:在最低级别,原子代表最小和最基本的 UI 元素,例如按钮、输入或图标。
他们有单一的职责,专注于其视觉外观和基本功能。
分子:分子是原子的组合,它们共同作用以创建更复杂的 UI 元素。
它们的责任级别稍高,代表一组相关的原子。
有机体:有机体由分子和原子组成,代表用户界面更大、更独立的部分。
它们具有更复杂的行为,可能包括状态管理和交互逻辑。
模板:模板是有机体的特定排列,为页面或部分提供基本结构。
它们定义了 UI 的整体布局和组成。
页面:页面是用真实数据填充模板的实例,创建供用户交互的实际内容。
让我们以同一个待办事项应用程序为例。我将使用原子设计模式给出高级代码设计:
原子
Atoms 包含小型、可重用的 UI 组件,例如Button和Input。
// ✅ Atoms // const Button = ({ onClick, children }) => { return ( <button className="button" onClick={onClick}> {children} </button> ); }; // const Input = ({ value, onChange }) => { return ( <input className="input" type="text" value={value} onChange={onChange} /> ); };
每个原子都有自己的 JavaScript 文件 ( , ) 和 CSS 文件 ( , )。
分子
分子目录包含形成更复杂组件的原子组合 (),例如 TodoItem组件。
// ✅ Molecules // const TodoItem = ({ todo, onDelete, onComplete }) => { return ( <li className="todo-item"> <span className={ ? 'completed' : ''}>{}</span> <Button onClick={onDelete}>Delete</button> <Button onClick={onComplete}> { ? 'Mark Incomplete' : 'Mark Complete'} </Button> </li> ); };
它有自己的 JavaScript 文件 ( ) 和 CSS 文件 ( )。
生物体
有机体目录包含更大、功能更丰富的组件,例如TodoForm和TodoList组件。
// ✅ Organisms // const TodoForm = ({ onAddTodo }) => { const {inputChange, addTodo} = useTodoForm(); return ( <div className="todo-form"> <Input value={newTodo} onChange={inputChange} /> <Button onClick={addTodo}>Add Todo</Button> </div> ); }; // const TodoList = ({ todos, onDeleteTodo, onCompleteTodo }) => { return ( <ul className="todo-list"> {((todo, index) => ( <TodoItem key={index} todo={todo} onDelete={() => onDeleteTodo(index)} onComplete={() => onCompleteTodo(index)} /> ))} </ul> ); };
它们由分子和/或原子组成,并有自己的 JSX(、)、自定义 Hooks()和CSS文件。
模板
模板包含提供页面或布局整体结构的组件。在这种情况下,Todo模板负责呈现TodoForm和TodoList组件。
// ✅ Templates // const Todo = () => { const { todos, addTodo, deleteTodo, completeTodo } = useTodo(); return ( <div className="todo-app"> <h1>Todo App</h1> <TodoForm onAddTodo={addTodo} /> <TodoList todos={todos} onDeleteTodo={deleteTodo} onCompleteTodo={completeTodo} /> </div> ); };
它有自己的 JSX 文件 ( ) 和自定义 Hook ( ) 以及 CSS 文件 ( )。
页数
代表应用程序中特定页面的页面目录组件。在此示例中,有一个HomePage组件充当 Todo 应用程序的主入口点。
// ✅ Pages // const HomePage = () => { return ( <div className="home-page"> <TodoApp /> </div> ); };
此示例演示了如何使用原子设计模式构建 Todo 应用程序代码库。每个组件负责一个关注点,并且可以轻松地重用和组合它们以构建完整的 Todo 应用程序。
最后的想法
设计 React 应用程序时,必须避免将多个职责分配给单个组件。以下是一些实用策略,可帮助您实现更清晰、更易于维护的代码库:
1. 明确职责:明确定义每个组件的目的。将复杂的功能分解为更小、更集中的组件,并具有明确的职责。
2. 关注点分离:根据应用程序的功能将应用程序划分为不同的组件来分离关注点。每个组件都应该具有特定的角色并处理单一的职责。
3. 组件组合:不要构建处理多个任务的大型组件,而是通过组合较小的、可重用的组件来组合您的 UI。这促进了可重用性和模块化。
4. 单任务功能:将复杂的逻辑从组件中提取到单独的功能或实用模块中。通过将特定功能封装在单独的函数中,您可以使组件专注于渲染和 UI 相关任务。
5. 遵循 SOLID 原则:遵守 SOLID 原则,例如单一职责原则 (SRP),该原则规定组件应该只有一个更改理由。这一原则可帮助您设计专注、可维护且更易于测试的组件。
6. 使用自定义钩子:将通用逻辑提取到可以跨组件共享的自定义钩子中。这允许您重用逻辑,而不会给各个组件带来不必要的复杂性。
7. 模块化架构:使用模块化架构组织代码库,例如基于功能的文件夹结构。这种方法促进了关注点的分离,并有助于使组件专注于其特定的职责。
通过有意识地根据这些实践来设计 React 应用程序,您可以避免向组件分配多重职责。这会带来更干净、更易于维护的代码,更容易理解、测试和扩展。
奖励 - 组件层次结构
通常建议遵循特定的组件层次结构,以保持代码库的一致性和可读性。
// ✅ Component Hierarchy // External dependencies import React, { useState, useRef, useEffect } from 'react'; import PropTypes from 'prop-types'; import _ from 'lodash'; // Internal dependencies import { TodoItem } from './TodoItem'; import { TodoUtils } from '../utils'; import { useTodo } from '../hooks'; import { withTimer } from '../hoc'; import { TodoType } from '../enums'; // Stylesheets import './'; import '../styles/'; // Assets import todoImage from '../assets/'; const Todo = () => { // State logic const [todos, setTodos] = useState([]); // Ref const inputRef = useRef(null); // Variable const title = 'Todo List'; // Custom hook const {addTodo} = useTodo(); // Higher-order component const timer = withTimer(TodoItem); // Component lifecycle methods (useEffect) useEffect(() => { //... }, []); // Component render return ( <div> {/* Component JSX */} </div> ); } = { // Prop types declaration }; export { Todo };
通过以一致且有组织的方式构建组件层次结构,您可以提高 React 应用程序的可读性、可维护性和可扩展性。
定义良好的层次结构可帮助开发人员浏览代码库、理解组件关系并高效地进行修改。
请继续关注我未来的博客文章中有关构建高质量 React 应用程序的更多提示和技巧!
快乐编码!
(更|多优质内|容:java567 点 c0m)
焦点精选!组件结构 - 在React中构建可重用和可维护的组件
2023-06-27 06:23:39
特百佳动力科技股份有限公司加快产品开发—— 发力新能源重卡赛道
2023-06-27 05:42:14
定阳县(关于定阳县介绍) 环球快消息
2023-06-27 03:04:07
【速看料】长沙代驾怎么收费标准 长沙代驾怎么收费的
2023-06-27 00:55:30
广西壮族自治区来宾市一辆沃尔沃牌汽车将以25万起拍-天天热议
2023-06-26 23:03:45
全球消息!天津地铁4号线北段工程完成重要节点目标 222天掘进零事故
2023-06-26 22:04:25
全球快播:刚刚,崩了!原因找到
2023-06-26 21:27:49
天天最新:西藏矿业:公司与日喀则市仲巴县人民政府和倍杰特全资子公司西藏京润签订《日喀则市招商引资项目投资协议书》
2023-06-26 20:40:28
京北方:拟发行可转债募资不超过11.3亿元|环球资讯
2023-06-26 19:56:38
400名音美教师开启封闭学习模式
2023-06-26 19:06:47
头条:端午假期铁路累计发送旅客7037.9万人次 较2019年同期增长11.3%
2023-06-26 18:52:35
欧股周一盘初下跌 势将创下去年10月以来最长连跌记录
2023-06-26 18:24:24
北京限行最新通知外地车_北京限行车号新规定外地车 全球时讯
2023-06-26 17:56:53
兰考县堌阳镇网格员多措并举开展防溺水宣传
2023-06-26 17:24:29
磁翻板液位计如何做好泄漏预防与维护
2023-06-26 16:49:25
港股日报|恒生指数跌0.51%,南向资金净买入31.93亿港元,消费者主要零售商板块领涨 环球速读
2023-06-26 16:46:56
世界观热点:钉钉考勤打卡作弊(钉钉考勤打卡如何作弊)
2023-06-26 15:54:05
海昌海洋公园迎疫后客流高峰 端午接客人次较2019同期增长超20%
2023-06-26 15:56:12
今日热文:写周末的句子
2023-06-26 15:20:04
全球微资讯!标普将中国今年经济按年增速预估下调至5.2%
2023-06-26 14:50:22
牛磺酸让动物更长寿更健康,是否有助人类抗衰老尚无定论 全球新消息
2023-06-26 13:56:31
康力源6月26日快速反弹-百事通
2023-06-26 13:22:34
焦点消息!杭州网约车新门槛:须新车 非新能源纯电动车车价需过15万
2023-06-26 12:42:36
全球热头条丨小猪民宿:端午期间平均客单价比2019年同期增近五成
2023-06-26 12:04:33
司法部:准予5家外国律师事务所在华设立代表处
2023-06-26 11:50:48
网络产品服务的提供者不得设置恶意程序及时向用户告知 网络产品服务的提供者不得设置
2023-06-26 11:05:45
桂林多部门开启巡逻!只为做好这件事
2023-06-25 16:12:26
每日观点:如何提高孩子记忆力_提高孩子记忆力的方法
2023-06-25 15:49:11
武安镇何家坪村志愿团体 通讯
2023-06-25 15:00:11
世界观点:11亿美元投资来了!蔚来与阿布扎比投资机构 CYVN Holdings签署认购协议
2023-06-25 14:35:59
河南高温暂缓!明后两天再加强,豫北局地40℃!-最新消息
2023-06-25 14:06:26
新研究抓住了渐冻症的发病原因的“尾巴”
2023-06-25 13:20:17
有机肥发酵翻堆机_对于有机肥发酵翻堆机简单介绍-热闻
2023-06-25 12:35:06
2023内蒙古包头市青山区消防救援大队招聘政府专职消防员和消防安全检查指导中心工作人员的面试通知 环球今日报
2023-06-25 12:17:49
湖南化工职院开展职教学术论文学术报告会
2023-06-25 11:45:23
绝地反攻,孙正义再赌AI-每日消息
2023-06-25 10:55:58
阿克苏文旅亮相“杭州奇妙夜” 展现“塞外江南”魅力 资讯
2023-06-25 10:51:40
世界看热讯:河西堡工业园:筑牢发展之基 打造高端、绿色、千亿化工园区
2023-06-25 10:14:06
为什么wifi连接上却不能上网有叹号_为什么wifi连接上却不能上网
2023-06-25 09:45:05
江苏省2023年高考成绩公布-当前热点
2023-06-25 09:14:08
环球快报:国内首条跨省轨交系统无感换乘线路开通
2023-06-25 08:42:16
理想L系列经常充到100%伤车吗? 李想:不会 电池寿命大于车|世界快播
2023-06-25 08:05:26
世界看热讯:杰威尔发胶怎么样(杰威尔男士护肤品怎么样)
2023-06-25 06:43:30
RedmiK50至尊版,售价亲民,值得入手
2023-06-25 06:02:22
深圳健康产业发展报告2013(关于深圳健康产业发展报告2013介绍)
2023-06-25 03:46:48
【快播报】OFFICE2007密钥_求个能用的office2007密钥
2023-06-25 01:05:11
u盘winpe系统怎么制作 u盘winpe系统制作方法 u盘制作winpe启动盘
2023-06-24 22:16:30
公文落款单位和日期右空几格(公文落款)|世界看点
2023-06-24 21:16:38
观澜亭丨小清河将复航,让人想起齐鲁古代“母亲河” 环球关注
2023-06-24 19:49:19
即时看!狮子座是火象星座吗?为什么狮子座是火象星座?
2023-06-24 18:53:50
多地再掀购车补贴潮:车市“价格战”仍将持续? 热文
2023-06-24 18:00:57
九人排球?海南“村排”了解下
2023-06-24 16:58:53
普京:参与叛乱的人都将受到惩罚
2023-06-24 15:55:57
葵花牌小儿咳喘灵口服液可以跟玉叶解毒颗粒一起吃吗_葵花牌小儿咳喘灵口服液|当前简讯
2023-06-24 15:05:57
要闻速递:日光灯和白炽灯区别在哪 日光灯和白炽灯区别
2023-06-24 14:05:57
热门:lower包官网_lower
2023-06-24 12:55:48
联合C9燃气版登陆三晋大地 为客户带来“快速+驰久+安全”解决方案_天天热推荐
2023-06-24 11:46:32
天津音乐沙龙之星光灿烂—中外经典声乐音乐会上演 今日热议
2023-06-24 11:13:40
阳光车险怎么样可靠吗 阳光车险怎么样
2023-06-24 10:11:48
首席连线丨中金公司彭虎:大模型迭代中算力基础设施或更受益
2023-06-24 09:52:38
最新:黯然销魂者唯别而已矣这句话的意思_黯然销魂者唯别而已矣是什么意思
2023-06-24 08:40:15
海东市互助县:上万亩高原无公害蔬菜供港澳
2023-06-24 07:53:19
【全球新要闻】2022年一级造价工程师《建设工程造价管理》考前模拟卷一单项选择题15
2023-06-24 06:01:52
星际战甲奥罗金电池(星际战甲奥罗金反应堆设计图) 天天新视野
2023-06-24 03:59:14
消息传来!发生灾难性内爆,深海失联5人全部死亡_天天观热点
2023-06-24 00:57:56
环球今热点:曾几何时的天空 你与我的魔法(关于曾几何时的天空 你与我的魔法介绍)
2023-06-23 22:47:18
洒水装置新突破,济南城管这样做|今日讯
2023-06-23 21:43:37
小区遭人撬锁,但并未成功 当前热点
2023-06-23 20:19:05
“不敢倒闭”的早晚读书-全球新消息
2023-06-23 19:26:18
专科医学院有哪些重庆(专科医学院有哪些)
2023-06-23 18:32:40
天天快看点丨民生银行潍坊分行深入开展安全生产月活动
2023-06-23 17:51:47
新爱德集团(08412.HK)完成配售合共1198.56万股_天天亮点
2023-06-23 16:50:34
多从自身找原因 看点
2023-06-23 16:01:04
蕙质兰心是什么意思指什么(蕙质兰心是什么意思)
2023-06-23 15:10:16
美白成分630_美白成分
2023-06-23 14:05:41
松江青少年看过来!首批11个创新实验室和专属服务平台来了|世界聚看点
2023-06-23 13:00:11
全球热门:Woj:大洛合同到期&雄鹿面临火箭真正威胁 后者拥有充足薪资空间
2023-06-23 12:04:26
菲律宾一艘渔船倾覆 已致2人死亡7人失踪
2023-06-23 11:13:11
美记:火箭寻求向上交易20号签 并联系了湖人热火和勇士
2023-06-23 10:08:18
我省首批服务乡村振兴“银龄人才”获聘 通讯
2023-06-23 10:13:57
玉米芯怎么用来种菜?
2023-06-23 09:32:58
短途旅游寻找“逛吃”胜地
2023-06-23 08:29:36
新华社评银川烧烤店燃气爆炸事故:生命重于泰山,筑牢安全防线
2023-06-23 07:32:12
查理四世·利奥波德_关于查理四世·利奥波德概略|今日热文
2023-06-23 06:06:54
一艘移民船在西班牙附近海域倾覆致2死34失踪
2023-06-23 04:42:27
去郑州外国语学校入学有什么条件要求(去郑州外国语学校入学有什么条件) 天天微速讯
2023-06-23 01:48:37
高温下北京白天现星星,初五端午月和金星熠熠生辉
2023-06-22 22:54:11
全国做碘131最好的医院_碘131治疗甲亢利弊
2023-06-22 21:53:51
遇见福建:闽南古镇端午民俗趣味多|天天新要闻
2023-06-22 20:57:27
德国柏林民众放飞气球抗议北约军演 呼吁和平解决冲突-世界快播
2023-06-22 19:43:09
全球微头条丨以牌会友、斗智斗勇,这场比赛展现了体育竞技别样的魅力
2023-06-22 18:42:47
全球视点!张杰谢娜的故事有哪些_张杰谢娜的故事
2023-06-22 17:06:19
【环球新要闻】9处人防工程避暑纳凉点免费开放
2023-06-22 16:01:50
快看:麻伊琳离婚了嘛_麻伊琳
2023-06-22 15:08:21
全球新动态:海东民和川口小学:特色教育展风采
2023-06-22 14:10:03
端午假期第一天 成都周边高速部分路段车多缓行
2023-06-22 13:11:50
解说小鹿晒照:一些紫色的库存,今天吃粽子了吗宝?
2023-06-22 12:16:08
带右的古诗有哪些
5.出现了“画角”一词的诗句
2023-06-22 11:18:28
蓝桉跑过少年时悲剧吗_蓝桉跑过少年时
2023-06-22 10:35:24
高新区召开危化品重大事故隐患专项排查整治2023行动工作推进会 快报
2023-06-22 10:11:18
011.倪海厦黄帝内经11集(字幕)_
2023-06-22 09:24:28
紫光股份旗下新华三再次斩获中国以太网交换机市场第一
2023-06-22 08:49:41
世界观焦点:微党课课件ppt(微党课课件)
2023-06-22 07:57:08
动画学什么课程及毕业薪酬岗位去向 就业前景怎么样
2023-06-22 06:37:20
当前简讯:美国充电桩迎“统一口”?预计明年年底7500个特斯拉充电桩向其他品牌汽车开放
2023-06-22 05:43:57
天天微速讯:智慧政务板块6月21日跌3.95%,赛为智能领跌,主力资金净流出63.87亿元
2023-06-22 04:26:19
【全球时快讯】AMD将投资1.35亿美元扩大爱尔兰业务
2023-06-22 01:42:25
即时看!宁德时代:拟使用不超78亿元闲置募集资金进行现金管理
2023-06-21 22:52:07
近五年“最火”端午开启:预计1亿人次出游,民宿价格高于“五一”_焦点速读
2023-06-21 22:14:19
如何自学易经 如何自学易经,看这本书就够了-环球观点
2023-06-21 21:29:57
【新要闻】石家庄市第五十三中学举行2023届毕业典礼
2023-06-21 20:46:03
“千名大学生看奉贤”短视频征集大赛启动
2023-06-21 19:57:21
【新要闻】万国觉醒怎么卡1技能(万国觉醒怎么卡技能)
2023-06-21 19:32:58
公司开办需要的营业执照申请步骤是什么|世界快消息
2023-06-21 18:58:34
招联逾期怎么延期?协商延期需要哪些材料?
2023-06-21 18:15:34
【天天报资讯】外交部领事司司长:持续优化调整中外人员往来政策
2023-06-21 17:48:27
世界百事通!服用“保健品”后身体不适,警方一查竟含违禁药物
2023-06-21 17:16:39
老弄堂里粽叶香 北外滩动迁居民回“娘家”叙“乡情”
2023-06-21 16:56:29
每日观点:斯里兰卡外长萨布里将访华
2023-06-21 16:39:47
城市之星官网首页_城市之星官网查询
2023-06-21 16:13:55
普陀区购房违约纠纷律师收费要多少
2023-06-21 15:50:28
吉首市开展2023年防汛应急抢险救援综合演练
2023-06-21 15:30:29
保丽洁拟设立北京双洁科技有限公司 持续扩大油烟废气治理力度
2023-06-21 15:09:45
天天精选!长安汽车:动力电池行业产能严重过剩
2023-06-21 14:59:36
全球观热点:五味子的功效与作用五味子泡酒_五味子的功效与作用
2023-06-21 14:46:53
“天宫”空间站电推进发动机首次实现在轨“换气”_当前消息
2023-06-21 14:53:21
枣强农商银行开展“我们的节日——端午节”宣传活动 全球热点评
2023-06-21 14:33:22
本市将发行20亿地方政府债券 当前速读
2023-06-21 14:13:18
CPO概念盘初走低
2023-06-21 14:11:11
二手房挂牌这个问题是今年上半年房地产最重大的问题 环球速看料
2023-06-21 14:21:16
全球观热点:如何启用Fortnite的双因素身份验证
2023-06-21 14:05:08
郑东新区龙湖办事处开展软件正版化、版权保护活动
2023-06-21 13:39:58
昆仑万维午后持续下挫,跌超16%|今头条
2023-06-21 13:18:43
商务部印发《自贸试验区重点工作清单(2023-2025年)》
2023-06-21 12:20:41
世界视点!新股汇隆活塞高开,涨超26%
2023-06-21 11:38:17
快资讯:蔡小雀言情小说集(蔡小雀)
2023-06-21 11:34:54
世界最资讯丨ps人物转素描步骤(ps人物转手绘教程)
2023-06-21 11:25:03
看点:联邦快递(FDX.US)Q4营收同比降10.2% 盈利指引低于预期
2023-06-21 11:13:47
当前观察:便便餐厅 便便餐厅百科
2023-06-20 17:04:43
河南“米”字高铁一周年:“织”就区域经济发展新动能-全球快看
2023-06-20 16:44:00
晶合集成:55nm触控与显示驱动集成芯片(TDDI)实现大规模量产 40nm高压OLED平台技术开发取得重大成果
2023-06-20 16:17:20
衡南县民政局开展养老领域防范非法集资宣传活动
2023-06-20 15:49:52
高职和专科的区别是什么(高职和专科的区别)
2023-06-20 15:09:44
最新任免!枣庄市市中区人大常委会公告来了|全球滚动
2023-06-20 14:35:18
兴银基金李文程:债市或延续震荡偏强行情
2023-06-20 14:18:32
生态“建圈”产业“强链”|今日热讯
2023-06-20 12:56:13
北京丰台站开通一周年累计发送旅客750万人次
2023-06-20 12:29:42
桌面下方任务栏跑到左面怎么办_桌面下方任务栏跑到左面 焦点短讯
2023-06-20 11:41:49
天际老奶奶对B社不出《老滚6》很生气 不会客串星空_讯息
2023-06-20 11:20:32
北京税务来解答:请问,如何变更购票人信息?
2023-06-20 11:13:33
赋能乡村振兴,职业教育如何作为
2023-06-20 10:55:37
每日热议!南京国际广场美食 南京国际博览中心附近美食
2023-06-20 10:12:21
凤凰网安徽“丰言平”:人祸岂能让鼠担责! 世界报资讯
2023-06-20 09:53:21
大河早点看丨河南多地发布最新人事信息;2023年或成有记录以来最热一年;郑州地铁1号线明起提早开站、延时载客
2023-06-20 09:26:53
中特估公司回购港股能提升“含金量”-环球关注
2023-06-20 08:52:21
法国将斥资超2亿美元以促进可持续航空燃料生产-世界热议
2023-06-20 08:14:33
驱蛇方法图解_驱蛇方法-世界新要闻
2023-06-20 07:41:12
【环球热闻】取暖器哪种制热效果好_取暖器的种类
2023-06-20 06:39:52
范德耶乌特_关于范德耶乌特的简介 全球要闻
2023-06-20 05:58:06
世界速看:负债总额较上年增减变动幅度超过20%(负债总额)
2023-06-20 04:14:08
长沙:博物馆数字活化带来文旅新体验 全球观速讯
2023-06-20 01:20:18
死神同人夜无月星满天 热资讯
2023-06-19 23:13:01
【天天热闻】pdf带圈数字符号1到100_带圈数字符号1到100
2023-06-19 22:09:46
微信加群,快速找到各种群码
2023-06-19 21:36:13
短讯!千百度歌词完整版赏析_千百度歌词
2023-06-19 20:39:02
天天速讯:读博士期间有工资吗_在读博士有工资吗
2023-06-19 20:12:29
世界报道:向往的专业第4期 | 自动化类专业:开拓人类认知的疆土
2023-06-19 19:37:30
铂科新材:公司拟与核心员工持股平台共同投资设立芯片电感项目子公司-当前独家
2023-06-19 18:51:30
【热闻】西餐厅里的父亲节,我和我的必胜爸爸
2023-06-19 18:32:00
中科大在Nature Review Physics上全面综述量子隐形传态 天天消息
2023-06-19 17:58:13
环球热讯:天文学家们想寻找巨型黑洞,结果捅了“黑洞窝”
2023-06-19 17:30:02
当前关注:喝水死 喝水死事件处理结果
2023-06-19 16:57:36
世界速读:荣亿精密:占公司总股本20.2%的限售股将于6月26日解禁上市
2023-06-19 16:42:15
天津钢管自研TP系列特殊扣被用于铁山坡气田6口新井重点核心部位 全球快播报
2023-06-19 15:53:01
每日聚焦:腾讯控股人民币柜台上午成交额超过2600万元
2023-06-19 15:54:05
京东 618:Apple 品牌成交额破百亿,折叠屏手机增长超 3 倍
2023-06-19 15:04:12
匹诺曹的谎言隐藏月光石在哪 匹诺曹的谎言隐藏月光石位置介绍 焦点热闻
2023-06-19 14:45:35
华侨城A前5月合同销售170亿元 同比增长11% 全球观焦点
2023-06-19 14:00:16
当前视点!止付4万元!衡山警方成功制止一起电信诈骗案
2023-06-19 13:33:11
全球速看:信用卡申请第二次会通过吗?花呗停息挂账申请条件是什么?
2023-06-19 12:49:30
滞胀和通缩哪个更可怕?
2023-06-19 11:52:28
V观财报|未及时披露重大进展事项 新时达收监管函
2023-06-19 11:33:31
天天微动态丨Mysteel:机械原材料周报(6.12-6.16)
2023-06-19 11:07:04
北京9条滨水骑行线路 你打卡了吗?通勤健身来“慢”游_消息
2023-06-19 11:05:49
深圳5G基站已突破7万个 当前热讯
2023-06-19 10:44:04
怎么区分鹅和鸭子(鹅和鸭子的区别)
2023-06-19 10:12:18
短讯!大连房屋抵押纠纷律师收费标准是多少
2023-06-19 09:59:38
老牌汽车大省的“破与立” 天天关注
2023-06-19 09:48:31
重点聚焦!永泰能源:上半年预计实现净利润为10.1亿元-11.1亿元
2023-06-19 09:36:34
16个月宝宝大虾吃法? 看热讯
2023-06-19 09:28:38
枪支暴力猖獗!美国一军事基地门前安置20多个集装箱 防止流弹袭击|滚动
2023-06-19 09:15:23
企业债券信用评级机构迎来年度“大考”
2023-06-19 08:53:58
当前短讯!罗马诺:都灵希望签下贝拉诺瓦,价格为700万欧+200万欧浮动
2023-06-19 08:44:44
【天天新要闻】一周警报|“618”别只顾买买买,诈骗陷阱还要“防防防”!有人差点被骗千万元!
2023-06-18 22:06:19
今晚起湖南降雨发展 湘北湘中部分地区有暴雨到大暴雨_环球即时看
2023-06-18 21:26:37
青岛哪个火车站离机场近_青岛机场到青岛火车站
2023-06-18 20:58:15
(体育)靖安山地自行车精英赛封宽杰获四连冠
2023-06-18 20:13:56
织金县气象台继续发布雷电黄色预警信号【Ⅲ/较重】【2023-06-18】 全球独家
2023-06-18 19:07:02
娜娜假期攻略第二关(娜娜假期攻略) 每日时讯
2023-06-18 18:50:27
天天即时:湛江57岁看守所民警突发心梗去世!最后时刻仍惦记着工作
2023-06-18 17:59:44