博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
create-react-app留言板
阅读量:6324 次
发布时间:2019-06-22

本文共 4693 字,大约阅读时间需要 15 分钟。

create-react-app留言板

搭建环境

  • 创建package.json文件

npm init -y
  • 安装create-react-app

npm install -g create-react-app
  • 使用命令创建myapp目录

create-react-app myapp
  • 进入myapp目录

cd myapp
  • 运行

npm start

它会自动跳转到页面:

图片描述

  • 安装loder

npm install sass-loader node-sass --save-dev

修改项目

  • 删除不需要的项目

  • 修改完以后的项目目录

    图片描述

编写程序

因为我们这里会用到Bootstarp,所以我们需要先下载一个样式库;

  • 下载Bootstarp样式库

官网网址:http://v3.bootcss.com/getting-started/#download直接在浏览器打开就可以,打开以后会出现以下页面,点击第一个,下载Bootstrap就可以;

图片描述

  • 创建index.js文件

import React from 'react';import ReactDOM from 'react-dom';import LiuYanapp from './LiuYanapp';import './bootstrap/css/bootstrap.min.css';  //引入样式文件ReactDOM.render(
,document.getElementById("app")); //输出到页面
  • 创建LiuYanapp.js文件

import React from 'react';import LiuYanList from './LiuYanList';import LiuYanForm from './LiuYanForm';class LiuYanapp 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);    }    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 LiuYanapp;
  • 创建LiuYanForm.js文件

import React from 'react';class LiuYanForm 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 LiuYanForm;
  • 创建LiuYanItem.js文件

import React from 'react';class LiuYanItem extends React.Component{    delete(){        this.props.deleteItem(this.props.data.id);    }    render(){        let {text,time,done,id}=this.props.data;        return (                          {text}                   
{time} 删除留言 ); }}export default LiuYanItem;
  • 创建LiuYanList.js文件

import React from 'react';import LiuYanItem from './LiuYanItem';class LiuYanList extends React.Component{    render(){        let todos=this.props.data;               let todoItems=todos.map(item=>{            return 
}); return (
{todoItems}
留言
); }}export default LiuYanList;
  • 创建webpack.config.js文件

module.exports = {  entry: './index.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" } //添加      ]    } }
  • 输入命令,运行页面

npm start

现在我们的页面就完成了,现在的目录:

图片描述

运行页面

  • 接下来就让我们看看效果吧!

    图片描述

转载地址:http://zqvaa.baihongyu.com/

你可能感兴趣的文章
sql server 索引阐述系列八 统计信息
查看>>
c# Request对象(13)
查看>>
USB,蓝牙,以太网,还是WIFI?
查看>>
阿里云服务器更改时区为utc
查看>>
APP测试流程和测试点
查看>>
ansible实战
查看>>
PowerShell 远程管理之启用和执行命令
查看>>
mysql安装错误
查看>>
马斯克:我并不讨厌苹果 Apple Watch还不成熟
查看>>
win系统与linux系统之间文件备份
查看>>
PHP中实现函数重载
查看>>
白宫电子邮件系统疑被黑:第一夫人护照信息被曝光
查看>>
站在物联网风口,传感器产业弯道超车?
查看>>
Javascript类型转换的规则
查看>>
Shell脚本学习之sed详解
查看>>
java基础(五)-----关键字static
查看>>
[UIKit学习]04.关于HUD提示框,定时任务、开发关于资源常见问题
查看>>
http://git.oschina.net/chunanyong/springrain
查看>>
Hibernate 对象的三种状态
查看>>
微服务架构 SpringCloud(一)组件和概念介绍
查看>>