react實例:理解dva構建項目的原理

来源:https://www.cnblogs.com/wheatCatcher/archive/2018/03/01/8489447.html
-Advertisement-
Play Games

請點擊相應的步驟查看詳情 我們首先搭建一個 dva Demo 項目(請參考react快速構建一個應用項目),然後逐步完成以下內容: 第一步,我們會劃分一下整體的項目結構,熟悉每一部分是什麼概念;接下來我們會說如何抽離 model,以及 model 設計的一些思路;然後我們會根據項目的情況說明如何合理 ...


請點擊相應的步驟查看詳情

我們首先搭建一個 dva Demo  項目(請參考react快速構建一個應用項目),然後逐步完成以下內容:

  1. 結構劃分
  2. 設計 Model
  3. 組件設計方法
  4. 組件設計實踐
  5. 添加 Reducers
  6. 添加 Effects
  7. 定義 Service
  8. mock 數據
  9. 添加樣式
  10. 設計佈局

第一步,我們會劃分一下整體的項目結構,熟悉每一部分是什麼概念;接下來我們會說如何抽離 model,以及 model 設計的一些思路;然後我們會根據項目的情況說明如何合理的設計你的組件,以及組件中樣式的處理;在設計好了組件之後,就會進入數據相關的內容,包含了同步和非同步的情況,以及非同步請求的處理方式,在最後我們還會介紹在dva中mock數據的的方式以及佈局的設計。

 在 dva 架構的項目中,我們推薦的目錄基本結構為:

.
├── /mock/           # 數據mock的介面文件
├── /src/            # 項目源碼目錄
│ ├── /components/   # 項目組件
│ ├── /routes/       # 路由組件(頁面維度)
│ ├── /models/       # 數據模型
│ ├── /services/     # 數據介面
│ ├── /utils/        # 工具函數
│ ├── route.js       # 路由配置
│ ├── index.js       # 入口文件
│ ├── index.less     
│ └── index.html     
├── package.json     # 項目信息
└── proxy.config.js  # 數據mock配置

 

最終我們得到的項目是這樣的:

user-dashboard


詳情請參考:https://github.com/dvajs/dva-docs

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、字體屬性 1.預設字體系列 chrome/opera:"宋體" firefox:"微軟雅黑" safari/IE:Times,"宋體" 2.字體屬性 字體類型 font-family 初始化時定義字體類型,如宋體 字體大小 font-size 應用於: 所有元素 繼承性: 有 百分數: 相對於父 ...
  • 1:閉包 1>概念:閉包就是能夠讀取其他函數內部變數的函數。在JS中,只有函數內部的子函數才能讀取局部變數,因此可以把閉包簡單理解為”定義在一個函數內部的函數”。 2>閉包的特點 1)可以讀取函數內部的變數。 2)讓這些變數的值始終保存在記憶體中。 3>閉包的原理 理解閉包,首先必須理解JS變數的作用 ...
  • 前面的話 使用Facebook官方推出的create-react-app腳手架,我們基本可以零配置搭建基於webpack的React開發環境。但是,如果需要個性化定製,則還需要基於create-react-app進行再配置 環境變數 在根目錄下新建.env.local文件,可以用於本地環境變數覆蓋 ...
  • 一、何為cookie 由於http協議是無狀態的,所以沒法知道當前訪問的客戶端是誰,所以有了cookie這個東西,通過cookie來讓服務端知道當前是誰訪問我,可以看做是一個身份牌 二、cookie的工作流程 (1) 第一次用戶登錄的時候,輸入用戶名和密碼信息,服務端接收後進行用戶認證。 (2)服務 ...
  • 一、水平居中: (1). 行內元素的水平居中? 如果被設置元素為文本、圖片等行內元素時,在父元素中設置text-align:center實現行內元素水平居中,將子元素的display設置為inline-block,使子元素變成行內元素 (2)塊狀元素的水平居中(定寬) 當被設置元素為定寬塊級元素時用 ...
  • 前言: 考慮自己網站的圖片展示,而且要支持移動端和PC端。自己寫的代碼也不盡如意,要寫好的話也需要時間,於是就想到了使用相關插件。 準備: PhotoSwipe 官網地址:http://photoswipe.com/ 英語還可以的同學可以看官方文檔學習:http://photoswipe.com/d ...
  • 數據流向 數據的改變發生通常是通過用戶交互行為或者瀏覽器行為(如路由跳轉等)觸發的,當此類行為會改變數據的時候可以通過 dispatch 發起一個 action,如果是同步行為會直接通過 Reducers 改變 State ,如果是非同步行為(副作用)會先觸發 Effects 然後流向 Reducer ...
  • [1]打包公共代碼 [2]動態導入 [3]懶載入 [4]剔除無用代碼 [5]長緩存優化 [6]公用代碼內聯 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...