摘要:在上已經有接近的數了,是目前最熱門的前端框架。而我學習也有一段時間了,現在就開始用進行實戰文章地址項目代碼地址首先,我們開始構建一個基礎項目。下篇教程會加入進行登錄注冊操作項目代碼地址版項目代碼地址相應后端項目代碼地址
React在Github上已經有接近70000的 star 數了,是目前最熱門的前端框架。而我學習React也有一段時間了,現在就開始用 React+Redux 進行實戰!
文章地址:https://github.com/DigAg/diga...
項目代碼地址:https://github.com/DigAg/diga...
首先,我們開始構建一個基礎項目。
我們使用create-react-app創建項目,不需要安裝或配置W??ebpack或Babel等工具。它們被預先配置和隱藏,以便我們可以專注于代碼。
在本地全局安裝create-react-app(需要安裝Node.js且版本 >= 6,也可使用 yarn 代替 npm)
npm install -g create-react-app
創建項目
create-react-app digag cd digag
檢查是否成功創建digag文件夾與相關文件
digag ├── README.md ├── node_modules ├── package.json ├── .gitignore ├── public │ └── favicon.ico │ └── index.html │ └── manifest.json └── src └── App.css └── App.js └── App.test.js └── index.css └── index.js └── logo.svg └── registerServiceWorker.js
在開發模式下運行應用程序,訪問localhost:3000在瀏覽器中查看。
npm start or yarn start
這樣我們就成功創建好一個可以直接運行的React項目了!
接下來,開始編寫代碼了!
首先我們打開 src 目錄下的 App.js 文件,刪除掉默認生成的代碼。輸入以下代碼:
/** * Created by Yuicon on 2017/6/25. */ import React, { Component } from "react"; import Header from "../../components/Index/Header"; import "./App.css"; export default class App extends Component { componentDidMount() { console.log(this.props.users) } render(){ return() } } 1adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd21adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd31adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd1adasdasdasdasdasd
同樣,編輯 App.css 文件:
html { font-size: 12px; font-family: -apple-system,PingFang SC,Hiragino Sans GB,Arial,Microsoft YaHei,Helvetica Neue,sans-serif; text-rendering: optimizeLegibility; background-color: #f4f5f5; color: #333; word-break: break-all; } .App { text-align: center; } .App-header { position: relative; height: 5rem; } .main-header { background: #fff; border-bottom: 1px solid #f1f1f1; color: #909090; height: 5rem; z-index: 250; position: fixed; top: 0; left: 0; right: 0; transition: all .2s; } .main-header .visible { transform: translateZ(0); } .container { display: flex; align-items: center; height: 100%; position: relative; width: 100%; } .main-header .container { max-width: 960px; min-width: 960px; margin: auto; } .logo { margin-right: 2rem; } .logo-img { border-style: none; } .nav-menu ul{ background-color: white; } .nav-menu ul li{ font-size: 1.33rem; } .nav-menu ul li:hover{ border-bottom: 0 solid white !important; background-color: white !important; } .nav-menu button{ margin-left: 0 !important; font-weight: 500; font-size: 1.3rem; } .contribute { } .contribute:after{ content: "|"; position: absolute; top: 24px; left: 100%; color: hsla(0,0%,59%,.4); } .login-btn { } .login-btn:after { content: "B7"; margin: 0 .4rem; } .register-dialog { padding: 2rem; width: 26.5rem !important; max-width: 100%; font-size: 1.167rem; box-sizing: border-box; } .App-body { position: relative; margin: 0 auto; width: 100%; max-width: 960px; height: 100vh; } .welcome-view { position: relative; display: flex; justify-content: space-between; margin-top: 1.767rem; } .category-nav { background-color: #db1f00; width: 140px; position: fixed; top: 6.66rem; } .main { background-color: #08c6a7; width: 560px; margin-left: 13rem; } .sidebar { background-color: #e3e001; width: 19.2rem; box-sizing: border-box; }
可能已經有同學注意到了,我們在 App.js 里導入了一個目前還不存在的組件。現在,我們來創建它:
首先,創建 src/components/Index 目錄,在該目錄下創建 Header.js 。
digag ├── README.md ├── node_modules ├── package.json ├── .gitignore ├── public │ └── favicon.ico │ └── index.html │ └── manifest.json └── src └── components └── Index └── Header.js └── App.css └── App.js └── App.test.js └── index.css └── index.js └── logo.svg └── registerServiceWorker.js
編輯 Header.js 文件
/** * Created by Yuicon on 2017/6/25. */ import React, {Component} from "react"; import {Button, Input, Menu} from "element-react"; export default class Header extends Component { constructor(props) { super(props); this.state = { searchInput: "", }; } handleSelect = (index) => { console.log(index); }; handleIconClick = () => { console.log("handleIconClick", this.state.searchInput); }; render() { return () } }
我們在 Header.js 文件里導入了 element-react UI庫的組件, 所以需要在 package.json 文件里添加依賴。
//省略部分代碼 "dependencies": { "element-react": "^1.0.11", "element-theme-default": "^1.3.7" },
運行命令:
npm install or yarn install
根據 element-react 文檔,在 index.js 文件中導入樣式
import "element-theme-default"; //省略部分代碼
現在再重新運行項目,我們可以看到這樣的頁面:
是的沒錯,這就是編寫一個屬于自己的掘金教程。
下篇教程會加入 Redux 進行登錄注冊操作
項目代碼地址:https://github.com/DigAg/diga...
vue2版項目代碼地址:https://github.com/DigAg/diga...
相應后端項目代碼地址:https://github.com/DigAg/diga...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/50922.html
摘要:在此我們選用用友的公共靜態資源庫。因此打算建立遠程的其實還有個關鍵是我使用用友配的電腦開發,在本地部署的話電腦配置。。。不過此步驟我們也可以省略了,用友的大前端技術團隊提供了平臺。 數據分析平臺-實踐系列一 項目創建于2018年1月底,到現在已經接近半年,在此寫下半年來項目的實踐過程以及自己對前端的學習與體悟。 技術選型 框架: React 路由: React-Router 4 狀態管...
摘要:在上已經有接近的數了,是目前最熱門的前端框架。為了檢驗效果當然是選擇部署到服務器。下篇文章將會介紹利用的鏡像部署應用。完整項目代碼地址 React在Github上已經有接近70000的 star 數了,是目前最熱門的前端框架。而我學習React也有一段時間了,現在就開始用 React+Redux 進行實戰! 上回說到使用Redux-saga 管理 Redux 應用異步操作,應用還是只有...
摘要:前端每周清單半年盤點之與篇前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點分為新聞熱點開發教程工程實踐深度閱讀開源項目巔峰人生等欄目。與求同存異近日,宣布將的構建工具由遷移到,引發了很多開發者的討論。 前端每周清單半年盤點之 React 與 ReactNative 篇 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點;分為...
摘要:之前談到過很多次數據驅動的理解,這次通過實際項目檢驗了一下自己的想法。對于數據驅動這種模式,至少從數據層,可以規避,做一層數據變化的效驗這個和寫服務端單側差不多。數據驅動和有點類似,只是借用在單頁面上實現了。 之前談到過很多次數據驅動的理解,這次通過實際項目檢驗了一下自己的想法。 相關文件 《前端數據驅動的價值》 《前端數據驅動的陷阱》 項目詳設 詳設的重要性 對于復雜一點的項目,...
摘要:新聞熱點國內國外,前端最新動態就開源許可證風波進行回復數周前,基金會決定禁止旗下項目使用,因為其在標準的許可證之外添加了專利聲明此舉引發了社區的廣泛討論,希望能夠更新其開源許可證。 showImg(https://segmentfault.com/img/remote/1460000010777089); 前端每周清單第 27 期:React Patent License 回復,Sho...
摘要:在上已經有接近的數了,是目前最熱門的前端框架。將整個應用打包發布,自動試用進行壓縮與優化。毫無疑問,這些重擔都將壓在企業開發人員身上團隊之間如何高效協調,快速交付產品,快速部署應用,以及滿足企業業務需求,是開發人員亟需解決的問題。 React在Github上已經有接近70000的 star 數了,是目前最熱門的前端框架。而我學習React也有一段時間了,現在就開始用 React+Red...
閱讀 2796·2021-11-16 11:44
閱讀 969·2021-10-09 09:58
閱讀 4489·2021-09-24 09:48
閱讀 4253·2021-09-23 11:56
閱讀 2408·2021-09-22 15:48
閱讀 1892·2021-09-07 10:07
閱讀 3204·2021-08-31 09:46
閱讀 504·2019-08-30 15:56