摘要:配置做的小例子根據昨天的配置我們繼續往下做,我們在做一個小例子,首先還是要接著昨天的繼續往下配置安裝完之后要下載編譯并壓縮后的和字體文件。
webpack配置react做的小例子
npm i bootstrap url url-loader style-loader css-loader --save
import React from "react"; import ReactDOM from "react-dom"; import TodoApp from "./components/TodoApp"; import "./css/bootstrap/dist/css/bootstrap.min.css"; ReactDOM.render(,document.getElementById("app"));
var path = require("path"); module.exports = { //devtool:"source-map", entry: "./app.js", output: { path:path.resolve(__dirname,"build"), publicPath:"/assets/", filename: "bundle.js" }, module: { rules: [ { test: /.js$/, exclude: /node_modules/, loader: "react-hot-loader!babel-loader" }, { test: /.css$/, exclude: /node_modules/, loader: "style-loader!css-loader" }, { test: /.eot(?v=d+.d+.d+)?$/, loader: "file-loader" }, { test: /.(woff|woff2)$/, loader:"url-loader?prefix=font/&limit=5000" }, { test: /.ttf(?v=d+.d+.d+)?$/, loader: "url-loader?limit=10000&mimetype=application/octet-stream" }, { test: /.svg(?v=d+.d+.d+)?$/, loader: "url-loader?limit=10000&mimetype=image/svg+xml" } ] } }
import React from "react"; import TodoList from "./TodoList"; import TodoForm from "./TodoForm"; class TodoApp extends React.Component{ constructor(props){ super(props); this.ids=1; this.state={ todos:[] }; this.addItem=this.addItem.bind(this); this.deleteItem=this.deleteItem.bind(this); this.okItem=this.okItem.bind(this); } okItem(id){ this.state.todos.map(item=>{ if(item.id==id){ item.done=1; } return item; }); this.setState({ todos:this.state.todos }); } deleteItem(id){ let newtodos=this.state.todos.filter((item)=>{ return !(item.id==id) }); this.setState({ todos:newtodos }); } addItem(value){ this.state.todos.unshift( { id:this.ids++, text:value, time:(new Date()).toLocaleString(), done:0 } ) this.setState({ todos:this.state.todos }); } render(){ return (); } } export default TodoApp;
ToDo 你要做什么?
import React from "react"; import TodoItem from "./TodoItem"; class TodoList extends React.Component{ render(){ let todos=this.props.data; let todoItems=todos.map(item=>{ return}); return ( ); } } export default TodoList;
{todoItems} 內容 時間 狀態 操作
import React from "react"; class TodoItem extends React.Component{ delete(){ this.props.deleteItem(this.props.data.id); } complete(){ console.log(this); this.props.okItem(this.props.data.id); } render(){ let {text,time,done,id}=this.props.data; return (); } } export default TodoItem; {text} {time} {done==0?"未完成":"完成"} 刪除 完成
import React from "react"; class TodoForm extends React.Component{ tijiao(event){ event.preventDefault(); } add(event){ if(event.type=="keyup"&&event.keyCode!=13){ return false; } let txt=this.refs.txt.value; if(txt=="") return false; this.props.addItem(txt); this.refs.txt.value=""; } render(){ return(
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84395.html
摘要:使用做同構應用是用于開發數據不斷變化的大型應用程序的前端框架,結合其他輪子例如和就可以開發大型的前端應用。然后客戶端檢測到這些已經生成的就不會重新渲染,直接使用現有的結構。 使用React做同構應用 React是用于開發數據不斷變化的大型應用程序的前端view框架,結合其他輪子例如redux和react-router就可以開發大型的前端應用。 React開發之初就有一個特別的優勢,就是...
摘要:所以前端工程師不僅僅是寫好頁面和做好兼容性。對前端工程師的技術能力也會帶來考驗。這里想要說的是,如果使用了,使用了服務端渲染,對于前端工程師的個人素質要求會比較高,因為需要處理很多服務端的問題。 背景 我們團隊有個項目由于開發時間較長,且是前后端雜糅的開發方式,維護成本很高,在線上暴露的問題很多。而且因為對接了公司一百多條產品線,每天都會接到大量的客訴和產品線反饋的問題。2017年11...
摘要:例如允許我們在打包時將腳本分塊利用瀏覽器緩存我們能夠有的放矢的加載資源。文章的內容大體分為兩個方面,一方面在思路制定模塊分離的策略,另一方面從技術上對方案進行落地。我之前提到測試之下是什么樣具體的場景并不重要。前言 隨著前端代碼需要處理的業務越來越繁重,我們不得不面臨的一個問題是前端的代碼體積也變得越來越龐大。這造成無論是在調式還是在上線時都需要花長時間等待編譯完成,并且用戶也不得不花額外的...
摘要:關于和,其實單純問兩者的區別,大家都知道,一個是開發依賴,一個是線上依賴。因為一開始的開發不規范,導致我隨意亂裝。。一個包可以再大點。腳手架已經實現了三分之一,現在是直接來作為腳手架,到最后效果應該是的形式,不過命令內容已經實現和。 前言:最近天天加班做新項目,Taro版的小程序,還要實現富文本加海報,踩了不少坑,下次專門開個坑說一下。 回到腳手架,說實話從頭寫一個,即便是參考crea...
摘要:前戲今年,對于我個人而言遭遇了三個重大的轉折點。盡可能的把溝通成本用約定和文檔降低。學習的這一年可以說年的學習,在上半年的精力,放在了技術上。而下半年則相反。 前戲 今年,對于我個人而言遭遇了三個重大的轉折點。 15年9月大三休學創業,16年9月重新復學大三 在2016年4月順利引進天使輪,公司從廈門集美區搬到了深圳南山區 16年底,我們正在準備接入A輪 16年與15年相比,總體來...
閱讀 804·2021-09-22 16:01
閱讀 2095·2021-08-20 09:37
閱讀 1700·2019-08-30 15:54
閱讀 1699·2019-08-30 15:44
閱讀 843·2019-08-28 18:23
閱讀 3021·2019-08-26 12:17
閱讀 1023·2019-08-26 11:56
閱讀 1546·2019-08-23 16:20