成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

webpack配置react做的小例子

baiy / 1824人閱讀

摘要:配置做的小例子根據(jù)昨天的配置我們繼續(xù)往下做,我們在做一個(gè)小例子,首先還是要接著昨天的繼續(xù)往下配置安裝完之后要下載編譯并壓縮后的和字體文件。

webpack配置react做的小例子

根據(jù)昨天的配置我們繼續(xù)往下做,我們在做一個(gè)小例子,首先還是要接著昨天的繼續(xù)往下配置
npm i bootstrap url url-loader style-loader css-loader --save
安裝完之后要下載bootstrap編譯并壓縮后的 CSS、JavaScript和字體文件。不包含文檔和源碼文件。然后配置在自己的app.js文件下
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")); 
都配置完之后再接著在webpack.config.js里面添加語句
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" }
      ]
    }
}
都配置完之后接下來就做我們小例子的內(nèi)容吧
TodoApp.js
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 (
            




ToDo 你要做什么?


); } } export default TodoApp;
TodoList.js
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 (
            
                    {todoItems}
                
內(nèi)容 時(shí)間 狀態(tài) 操作
); } } export default TodoList;
TodoItem.js
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 (
           
               {text}
               {time}
               {done==0?"未完成":"完成"}
               
                   刪除
                   
                            完成
                   
                
           


        );
    }
}

export default TodoItem;
TodoForm.js
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;
都寫完之后就可以看看我們的index.html,html里的代碼沒有變動,和昨天的都是一樣

    
都完成之后就來看一下我們的結(jié)果,當(dāng)點(diǎn)擊添加的時(shí)候回添加上信息,直接按Enter也會添加消息,當(dāng)點(diǎn)擊刪除就會刪除已在的消息,點(diǎn)擊完成的時(shí)候未完成的信息就會顯示成完成

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84395.html

相關(guān)文章

  • 使用React做同構(gòu)應(yīng)用

    摘要:使用做同構(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)勢,就是...

    ymyang 評論0 收藏0
  • 我是如何使用React+Redux構(gòu)建大型應(yīng)用的

    摘要:所以前端工程師不僅僅是寫好頁面和做好兼容性。對前端工程師的技術(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...

    canopus4u 評論0 收藏0
  • 深入理解 Webpack 打包分塊(下)

    摘要:例如允許我們在打包時(shí)將腳本分塊利用瀏覽器緩存我們能夠有的放矢的加載資源。文章的內(nèi)容大體分為兩個(gè)方面,一方面在思路制定模塊分離的策略,另一方面從技術(shù)上對方案進(jìn)行落地。我之前提到測試之下是什么樣具體的場景并不重要。前言 隨著前端代碼需要處理的業(yè)務(wù)越來越繁重,我們不得不面臨的一個(gè)問題是前端的代碼體積也變得越來越龐大。這造成無論是在調(diào)式還是在上線時(shí)都需要花長時(shí)間等待編譯完成,并且用戶也不得不花額外的...

    pingan8787 評論0 收藏0
  • 從零開始開發(fā)一個(gè)react腳手架(五)

    摘要:關(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...

    gekylin 評論0 收藏0
  • 毫無色彩的二哲和他的巡禮之年

    摘要:前戲今年,對于我個(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年相比,總體來...

    Alex 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<