程序员首页投稿让前端飞程序员

react新手demo——TodoList

2018-02-12  本文已影响258人  darrell
react-todolist.gif

一: 写在文章开头

今天我们就使用 react 来实现一个简易版的 todolist ,我们可以使用这个 demo 进行 list 的增删改差,实际效果如上图所示。大家可以clone下来查看:react-todolist

这篇文章我们就不使用 redux,因为这个 demo 本身比较简单,不需要通过 redux 来管理我们的状态。

redux中也有非常有名的一句话叫做:

"如果你不知道是否需要 Redux,那就是不需要它。"

我们废话不多说,直接进入正题。


二:项目的目录结构

   .
   ├── app                              // 开发的文件夹,组件放在这个文件夹中
   │   ├── components                   // 项目的组件
   │   │   ├── App.js                   // 最外层包含下面组件的总组件
   │   │   ├── AppFooter.js             // App的三个筛选按钮的组件
   │   │   ├── AppForm.js               // 添加list的form
   │   │   ├── AppList.js               // 显示list数据的智能组件
   │   │   └── AppTodos.js              // 显示list的木偶组件
   ├── css                              // 放css文件的地方。
   │   ├── semantic.css                 // 我们的文件用到了semantic.css,
   ├── node_modules                     // 第三方的依赖
   ├── .babelrc                         // babel配置文件
   ├── .gitignore                       // git上传时忽略的文件
   ├── bundle.js                        // webpack build之后的文件
   ├── index.html                       // 项目的模版文件
   ├── main.js                          // 项目的入口文件
   ├── webpack.config.js                // webpack配置文件
   ├── README.md                        // readme文件
   └── package.json                     // 当前整一个项目的依赖

三:前期准备,安装依赖

1,首先我们新建一个todolist文件夹,根据我的目录结构建好相应的文件,如果大家嫌麻烦,大家可以clone我的项目,然后看着我的代码,我会一一进行说明的。package.json我们可以自己创建。

$ mkdir todolist
$ cd todolist

2,建立package.json文件

npm init

3,安装相应的依赖,我先解释一下这些依赖的作用


四:组件的编写,是我们的页面能够显示出来


5,实现list的添加操作


6,完成筛选功能

你可以看到如下效果:

react-add3.gif

7,修改list状态和删除list的功能

至此我们完成了所有的功能,如下图所示:

react-add4.gif

8,结语

我们这次没有借助任何的状态管理工具,如redux来做这个demo。因为大家做下来也能发现,其实我们这个demo的层级只有2层,所以我们可以通过props来进行父子间的通信。

但是其实我们也发现了,如果当组件的层级越来越多的时候,我们通过这样来进行父子间的通信就不方便了,在这个时候我们就需要用到redux或者mobx等等的状态管理工具。

其实这边的删除和修改list状态我都是在前端模拟处理的,在实际工作中我们都会通过接口去处理,然后根据返回值进行更改state

希望这篇文章对大家有一点启发,有任何问题可以在简书里私信我哦!

来自一个奔跑在前端路上的前端小白。


9,参考资料

上一篇下一篇

猜你喜欢

热点阅读