资讯专栏INFORMATION COLUMN

React结合webpack案例——表格记事

ccj659 / 731人阅读

摘要:结合实现表格记事官网有一个案例,实现表格的添加,我做一个比他复杂一点,结合的案例。

React结合webpack实现表格记事

React官网有一个案例,实现表格的添加,我做一个比他复杂一点,结合bootstrap的案例。分享给大家!

首先下载loader插件
npm file-loader url url-loader --save-dev
配置webpack配置文件
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" }
  ]
引入bootstrap模块

测试通过npm包下载bootstrap文件有坑,我们手动下载,安装在css目录下,引用它!我们中引入了一些bootstrap样式!

import "./css/bootstrap/css/bootstrap.min.css";
配置接口文件
"use strict"
import React from "react";
import ReactDOM from "react-dom";
import Dotobox from "./components/Dotobox";
import "./css/bootstrap/css/bootstrap.min.css";

ReactDOM.render(
    ,
    document.getElementById("app")
);
搭建我们的目录结构

Dotobox.js作为我们的box,Dotolist,Dotos,DotoForm作为我们的模块!

创建Dotobox.js
import React from "react";
import DotoList from "./DotoList";
import DotoForm from "./DotoForm"

class Dotobox extends React.Component{
  constructor(props){
    
    super(props);
    this.ids=1;
    this.state={
      todos:[]
  };
  this.addItem=this.addItem.bind(this);
  this.deleItem=this.deleItem.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
  })
}
deleItem(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 (
      



DoTo你要做什么


); } } //export {HelloWorld as default} export default Dotobox;
DotoLsit.js文件
import React from "react";
import Dotos from "./Dotos"

class DotoList extends React.Component{
  render(){
    let todos = this.props.data;
    let todoItems=todos.map(item=>{
      return 
    })
    /* let todoItems=[
      ,
      ,
      ,
      ,
      
    ]; */
    return (
      
{todoItems}
内容 时间 状态 操作
); } } //export {HelloWorld as default} export default DotoList;
Dotos.js文件
import React from "react";

class Dotos extends React.Component{
  delete(){
    this.props.deleItem(this.props.data.id)
  }
  complete(){
    this.props.okItem(this.props.data.id)
  } 
  render(){
  

    let {text,time,done,id}=this.props.data;
    return (
        
              {text}
              {time}
              {done==0?"未完成":"完成"}
              
                删除
                完成
              
        
    );
  }
}

//export  {HelloWorld as default}
export default Dotos;
DotoForm.js
import React from "react";

class DotoForm extends React.Component{
tijiao(event){
    event.preventDefault();
}
add(event){
    if(event.type=="keyup"&&event.keyCode!=13){
        event.preventDefault();
        return false;
    
  }
  let txt=this.refs.txt.value;
    if(txt=="") return false
        this.props.addItem(txt);
     this.refs.txt.value="";
}
   render(){
       return(
           
); } } export default DotoForm;

大家这样就可以做出我们的添加表格效果!,有兴趣的复制源码去试一试!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84397.html

相关文章

  • 前端经典文章

    摘要:上周末看这篇文章时,偶有灵光,所以,分享出来给大家一起看看前端面试四月二十家前端面试题分享请各位读者添加一下作者的微信公众号,以后有新的文章,将在微信公众号直接推送给各位,非常感谢。 前端切图神器 avocode 有了这个神器,切图再也腰不酸,腿不疼了。 这一次,彻底弄懂 JavaScript 执行机制 本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,...

    lowett 评论0 收藏0
  • dva 结合webpack4 改写动态加载

    摘要:具体就不贴上来了,这里主要是利用采用的动态加载原理进行改造。首先,依赖与,所以最初的想法是采用结合的方式进行改写。这个过程实际是是的动态加载。 dva现在是构建在umi基础上,由于项目的原因,我并没有采用umi架构,而是自己使用webpack4来进行打包,只用dva负责数据流的处理,dva原来的dynamic在webpack4上编译会有一堆错误。具体就不贴上来了,这里主要是利用webp...

    pekonchan 评论0 收藏0
  • 为了边看美剧边学英语,我写了个字幕处理脚本

    摘要:意味着字符串必须以结束。匹配不在方括号内的任意字符中转义字符使用倒斜杠。你需要输入转义字符,才能打印出一个倒斜杠。但是,通过在字符串的第一个引号之前加上,可以将该字符串标记为原始字符串,它不包括转义字符。 每个英语学渣(好吧,其实这个说的就是学渣本渣了♀)都有这样一个梦想: 能够一边轻松愉快地看着美剧,一边自己的英语听力水平还能蹭蹭地往上涨 。知乎上也有很多人分享了自己通过美剧练习听力...

    xbynet 评论0 收藏0
  • React-APP结合webpack搭建项目

    摘要:搭建项目有三种安装的方式,想了解的登录官网查看,今天介绍的一个自动安装的不需要怎么配置环境,自动生成的方式,类似于并实现一个小案例,留言功能官网的安装教程安装依次安装最终启动自后会出现一个页面大家可以去试试下边我们配置一 React-APP搭建项目 React有三种安装的方式,想了解的登录React官网查看,今天介绍的一个自动安装的不需要怎么配置环境,自动生成的方式,类似于vue-cl...

    jayzou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<