前端项目之react-todolist

一、搭建好react的环境

npm install -g create-react-app

create-react-app .      // 这一命令会在文件夹中生成package.json/node-modules/public/src/.gitignore/package-lock.json/README.md这一系列的文件

yarn start   // 不会生成build,只有yarn run  build 才会有压缩好的一堆文件生成

表示搭建成功。

在这里我要讲一个巨坑的经历, 在上传到github的远程仓库时,出现了一直报错的情况,css/js找不到,历时超久,发现是package.json里面的homepage写错了地方,啊啊啊啊啊啊啊啊啊啊。

二、搭建基本框架

先构思一下,首先有一个h1标签,显示这是谁的待办,然后有一个文本输入框,再下面是个列表,用来存放用户所有的待办事项。

三、将输入框和待办事项列表拆分成两个不同的组件,提高代码的可维护性、可扩展性和可测试性。

 

 

四、基本框架做好之后我们来添加简单的样式,首先引入一个重置的CSS文件normalize.css和自己新建的reset.css。

normalize.css需要安装 npm i -s normalize.css,在配置文件package.json添加一行依赖:

然后新建一个css文件命名为reset.css,里面写的是我们在css时最开始写的重置代码。

接着,就是我们自己对于页面的设计了,同样为了方便以后代码的维护,我们将每个部分的样式都新建一个css文件。

五、在添加玩自己定义的样式文件之后发现我们的输入框不能输入东西,我们的页面虽然没有报错但是有两个警告在,其中一个警告的意思就是说我们的输入框设置的value属性不能变化,浏览器给了我们两个建议,一个是将value改为defaultValue,还有一个是添加onChange或readOnly事件,我们首先采取第一种做法,同时给输入框添加onKeyPress的监听事件。以上,一起提交:

六、接下来我们想实现按回车,将输入框中的文字添加到列表中,输入框清空。

此时,我们发现还有一个问题就是,输入框不清空,联想到之前的两种方法中我们选择了第一种,换成第二种试试。

 

这样,简单的框架基本形成了。

七、接着我们开始实现增加复选框,表示完成或未完成,添加删除按钮实现删除功能,只显示没有被删除的todo,更新样式。

八、localStorage 存储数据

 九、把我们的数据一直存在localStorage显然不是良策,我们转移到数据库中 leancloud,进入创建应用列表

然后参考它的使用文档,找到JS文档,查看SDK安装,按照文档中所说执行命令npm install leancloud-storage --save和git commit . -m "install leancloud"。

初始化:将代码粘贴到app.js中,然后继续,翻到验证:ping api.leancloud.cn,成功显示之后将测试leancloud的代码粘贴到app.js中,这里需要我们新建一个类,名为TestObject。

成功弹出内容来即成功。

十、删掉测试代码,新建leancloud.js

 十一、继续,我们在了解了数据库的服务之后完成注册和登陆的部分

删掉localStorage的部分,因为我们之后要使用数据库

增加登录/注册的对话框

先把html的框架写好,然后把登录和注册分为两个模块,定义修改表单数据的方法

未完待续

 

posted @ 2018-02-24 18:45  程澄  阅读(1080)  评论(0编辑  收藏  举报