成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Semantic-UI的React實現(一):架構介紹

開發 架構
Semantic-UI是一套完全語義化設計的前端框架,使用起來靈活又方便,可以滿足多變復雜的頁面實現需求。從官方文檔(版本2.2)來看,主要有四類框架元素:元素、組合、視圖、模塊。

React組件化的UI庫

目前React組件化的UI有很多,這里有很多已實現的React組件庫。如:

  • TouchstoneJS - React.js powered UI framework for developing beautifulhybrid mobile apps.
  • Elemental UI
  • RSuite | 一個基于 React.js 的 Web 組件庫
  • Ant Design of React - Ant Design
  • Material-UI
  • React-Bootstrap
  • React + Foundation · Foundation as React components
  • Essence - React Material Design Framework
  • React-MDL: React Components for Material Design Lite
  • Belle - Configurable React Components with great UX
  • MUI - Material Design CSS Framework
  • Grommet
  • React Toolbox
  • react-blazecss 0.4.3 Demo
  • Pivotal UI: Intro
  • BFD UI

但是我一直比較偏愛的Semantic-UI不在這個列表中。雖然官方目前也在做相關的工作(戳這里),但目前還沒有出穩定版本。個人覺得這正是一個練習的機會,將Semantic-UI庫React組件化。

Semantic-UI

Semantic-UI是一套完全語義化設計的前端框架,使用起來靈活又方便,可以滿足多變復雜的頁面實現需求。從官方文檔(版本2.2)來看,主要有四類框架元素:

  1. 元素
  2. 組合
  3. 視圖
  4. 模塊

具體示例可參考官網。

基本分析

Semantic-UI實現于語義化設計,各個類可以自由組合使用已實現頁面需求。每個組件的屬性定義大多類似,如Button和Icon,都有size或者color等常用屬性,而這些屬性可用公共輔助類來定義和聲明。

從實現上來講,元素、組合和視圖的大部分實現,都可以用純CSS聲明來達到效果,但模塊類的組件往往需要js的輔助以實現動態效果。考慮到這一點,組件實現大致分為兩類實現:UI類和動效類。需要實現3DTransition的組件都繼承于動效類,剩余只需CSS聲明的組件繼承于UI類。當然動效類也同樣繼承于UI類。

UiElement

UiElement作為所有基礎UI組件的基類,主要負責以下幾類實現:

  1. 元素class的生成
  2. 元素事件回調的生成

基于Semantic-UI的語義化實現,所有class類均由多個屬性拼裝組成,所以每個UI組件的屬性在組件內聲明即可,class類的生成由父類UiElement負責。

AmElement

AmElement作為動效組件的父類,主要負責以下功能實現:

  1. 組件的show/hide接口調用
  2. 直接操作組件DOM,生成transition的style

每個動效組件繼承AmElement后,均將本組件的ref引用傳遞給父組件,由父組件統一調用并修改子組件的DOM元素style屬性,以實現3DTransition效果。

PropsHelper

組件Props的輔助類,用以生成組件的class。PropsHelper中有多個靜態方法:

  1. createStyle:用以生成組件class定義
  2. getDefaultProps:取得所有組件的通用props

每個組件在生成class定義是,只需提供本組件的props以及屬性定義,即可生成對應的class定義。

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2016-10-18 21:39:59

Semantic-UIReact基本元素組件

2016-10-18 21:31:52

Semantic-UIReact構造模塊

2016-10-18 21:45:53

Semantic-UIReactJavascript

2020-10-28 09:12:48

React架構Hooks

2023-03-21 08:31:13

ReconcilerFiber架構

2022-12-15 17:31:41

架構龍芯

2022-05-11 07:50:15

React UI組件庫前端

2015-07-31 09:28:53

React場景探索

2023-04-20 10:15:57

React組件Render

2023-03-28 07:59:57

ReactReconciler

2021-06-21 15:49:39

React動效組件

2023-06-09 07:21:23

React前端框架

2024-03-11 07:46:40

React優先級隊列二叉堆

2014-09-25 11:25:19

游戲引擎架構設計

2009-05-06 08:42:03

SymbianS60移動OS

2014-10-14 15:50:19

UIAndroid

2020-09-30 09:15:24

React架構遞歸

2020-10-13 08:36:30

React 架構機制

2019-01-18 08:28:21

服務器程序架構

2022-07-06 08:30:36

vuereactvdom
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩在线视频一区 | 国产日韩欧美中文 | 爱草视频 | 天堂成人av | 久久亚洲二区 | 中文字幕高清一区 | 欧美日韩精品在线免费观看 | 黄色毛片在线看 | 成人一区在线观看 | 国产日韩久久久久69影院 | 国产精品久久在线观看 | 国产一区二区三区在线免费观看 | 国产精品久久久久影院色老大 | 中文字幕一区二区三区四区 | 国产在线观 | 羞羞视频在线观看 | 国产精品久久久久久久久免费桃花 | 国产成人精品网站 | 一区二区三区在线 | 精品欧美一区二区三区久久久 | 久久国产精品-国产精品 | 欧美精品一区二区在线观看 | 国产精品久久久久久久久久久久久 | 国产精品久久久久一区二区三区 | 国产激情一区二区三区 | 免费一区二区三区 | 99福利视频导航 | av片在线观看网站 | 成人免费共享视频 | 国内精品成人 | 成人在线免费 | 日韩av电影院 | 91在线免费视频 | 偷拍自拍第一页 | 一本综合久久 | 日韩欧美网 | 日韩精品1区2区3区 国产精品国产成人国产三级 | 亚洲欧美日韩高清 | 精品一区二区电影 | 亚洲欧美日韩在线 | 99久久99|