摘要:配置做的小例子根據(jù)昨天的配置我們繼續(xù)往下做,我們在做一個(gè)小例子,首先還是要接著昨天的繼續(xù)往下配置安裝完之后要下載編譯并壓縮后的和字體文件。
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} 內(nèi)容 時(shí)間 狀態(tài) 操作
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(); } } export default TodoForm;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84395.html
摘要:使用做同構(gòu)應(yīng)用是用于開發(fā)數(shù)據(jù)不斷變化的大型應(yīng)用程序的前端框架,結(jié)合其他輪子例如和就可以開發(fā)大型的前端應(yīng)用。然后客戶端檢測到這些已經(jīng)生成的就不會重新渲染,直接使用現(xiàn)有的結(jié)構(gòu)。 使用React做同構(gòu)應(yīng)用 React是用于開發(fā)數(shù)據(jù)不斷變化的大型應(yīng)用程序的前端view框架,結(jié)合其他輪子例如redux和react-router就可以開發(fā)大型的前端應(yīng)用。 React開發(fā)之初就有一個(gè)特別的優(yōu)勢,就是...
摘要:所以前端工程師不僅僅是寫好頁面和做好兼容性。對前端工程師的技術(shù)能力也會帶來考驗(yàn)。這里想要說的是,如果使用了,使用了服務(wù)端渲染,對于前端工程師的個(gè)人素質(zhì)要求會比較高,因?yàn)樾枰幚砗芏喾?wù)端的問題。 背景 我們團(tuán)隊(duì)有個(gè)項(xiàng)目由于開發(fā)時(shí)間較長,且是前后端雜糅的開發(fā)方式,維護(hù)成本很高,在線上暴露的問題很多。而且因?yàn)閷恿斯疽话俣鄺l產(chǎn)品線,每天都會接到大量的客訴和產(chǎn)品線反饋的問題。2017年11...
摘要:例如允許我們在打包時(shí)將腳本分塊利用瀏覽器緩存我們能夠有的放矢的加載資源。文章的內(nèi)容大體分為兩個(gè)方面,一方面在思路制定模塊分離的策略,另一方面從技術(shù)上對方案進(jìn)行落地。我之前提到測試之下是什么樣具體的場景并不重要。前言 隨著前端代碼需要處理的業(yè)務(wù)越來越繁重,我們不得不面臨的一個(gè)問題是前端的代碼體積也變得越來越龐大。這造成無論是在調(diào)式還是在上線時(shí)都需要花長時(shí)間等待編譯完成,并且用戶也不得不花額外的...
摘要:關(guān)于和,其實(shí)單純問兩者的區(qū)別,大家都知道,一個(gè)是開發(fā)依賴,一個(gè)是線上依賴。因?yàn)橐婚_始的開發(fā)不規(guī)范,導(dǎo)致我隨意亂裝。。一個(gè)包可以再大點(diǎn)。腳手架已經(jīng)實(shí)現(xiàn)了三分之一,現(xiàn)在是直接來作為腳手架,到最后效果應(yīng)該是的形式,不過命令內(nèi)容已經(jīng)實(shí)現(xiàn)和。 前言:最近天天加班做新項(xiàng)目,Taro版的小程序,還要實(shí)現(xiàn)富文本加海報(bào),踩了不少坑,下次專門開個(gè)坑說一下。 回到腳手架,說實(shí)話從頭寫一個(gè),即便是參考crea...
摘要:前戲今年,對于我個(gè)人而言遭遇了三個(gè)重大的轉(zhuǎn)折點(diǎn)。盡可能的把溝通成本用約定和文檔降低。學(xué)習(xí)的這一年可以說年的學(xué)習(xí),在上半年的精力,放在了技術(shù)上。而下半年則相反。 前戲 今年,對于我個(gè)人而言遭遇了三個(gè)重大的轉(zhuǎn)折點(diǎn)。 15年9月大三休學(xué)創(chuàng)業(yè),16年9月重新復(fù)學(xué)大三 在2016年4月順利引進(jìn)天使輪,公司從廈門集美區(qū)搬到了深圳南山區(qū) 16年底,我們正在準(zhǔn)備接入A輪 16年與15年相比,總體來...
閱讀 819·2021-09-22 16:01
閱讀 2103·2021-08-20 09:37
閱讀 1702·2019-08-30 15:54
閱讀 1704·2019-08-30 15:44
閱讀 850·2019-08-28 18:23
閱讀 3026·2019-08-26 12:17
閱讀 1030·2019-08-26 11:56
閱讀 1549·2019-08-23 16:20