资讯专栏INFORMATION COLUMN

create-react-app留言板

gplane / 3367人阅读

摘要:留言板搭建环境创建文件安装使用命令创建目录进入目录运行它会自动跳转到页面安装修改项目删除不需要的项目修改完以后的项目目录编写程序因为我们这里会用到,所以我们需要先下载一个样式库下载样式库官网网址直接在浏览器打

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

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

运行页面

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

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

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

相关文章

  • create-react-app做的言板

    摘要:做的留言板先看一下我们的留言板,然后在去实现功能做留言板首先要配置好我们的文件,然后才能接着做我们的留言板快速开始安装,建议使用使用命令创建应用,为项目名称进入目录,然后启动接下来看看我们的代码吧留言板留言板 create-react-app做的留言板 先看一下我们的留言板,然后在去实现功能 showImg(https://segmentfault.com/img/bVRSna?w=1...

    FWHeart 评论0 收藏0
  • create-react-app言板

    摘要:留言板搭建环境创建文件安装使用命令创建目录进入目录运行它会自动跳转到页面安装修改项目删除不需要的项目修改完以后的项目目录编写程序因为我们这里会用到,所以我们需要先下载一个样式库下载样式库官网网址直接在浏览器打 create-react-app留言板 搭建环境 创建package.json文件 npm init -y 安装create-react-app npm install -g c...

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

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

    jayzou 评论0 收藏0
  • React+TypeScript+Mobx+AntDesignMobile进行移动端项目搭建

    摘要:通过装饰器或者利用时调用的函数来进行使用下面代码中当或者发生变化时,会监听数据变化确保通过触发方法自动更新。只能影响正在运行的函数,而无法影响当前函数调用的异步操作参考官方文档用法装饰器函数遵循中标准的绑定规则。 前言: 本文基于React+TypeScript+Mobx+AntDesignMobile技术栈,使用Create-React-App脚手架进行一个移动端项目搭建,主要介绍项...

    lindroid 评论0 收藏0
  • react+graphql起手和特性介绍(三)

    摘要:如果你对这系列文章有疑问或发现有错误的地方,欢迎在下方留言讨论。 紧接上篇react+graphql起手和特性介绍(二),介绍完graphql与koa的服务搭建和graphql的一些常用特性,接下来我们介绍下在react中如何使用graphql我们使用create-react-app创建react应用: npm i -g create-react-app mkdir react-gra...

    soasme 评论0 收藏0

发表评论

0条评论

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