详解React中的todo-list

来源:脚本之家  责任编辑:小易  

意思是你的文件没有正确抛出

基于React的一个简单Todo-list

反应找不到预设的“es2015”相对目录。

先赌为快:在线DEMO,感觉还不错点一下star  -_- ~

印象最深的一段是《从你的全世界路过》中,岳云鹏送别燕子,说的台词。燕:是我对不住你!岳:没有没有没有,燕子幸亏咱两没领证,领证我耽误你一辈子。燕:我走了,你保重啊!岳:你也保重。燕:再见!岳:再见。还会再见吗?燕子。再见的时候你要幸福,好不好?燕子,你要开心,你要幸福,好不好?开心啊,幸福!燕:师傅,走吧!岳:你的世界以后没有我了,没关系,你自己要幸福。————燕子,没有你我怎么活呀,燕子燕子燕子燕子燕子。燕子,你带我走吧,燕子~这一段我记得太深刻了,见到岳哭成那样,实在是太虐心了。那种不舍与留恋,深深的触动!

源码地址:

现在是很值得购买的,360手机vizza在京东开售的时候特别多的优惠活动,在9月6日到10月7日期间,购买360手机vizza手机,关注京东360手机旗舰店并发表20字以上评论的前5000名用户,可获得1000京豆;发表20字以上评论和不少于2张手机实拍图的前500名用户,可获得2000京豆;还有使用微信手Q玩游戏赢京豆抽手机的活动。9月6日当天00:00—24:00,消费者使用京东支付整点下单立减898元,相当于1元购新机,还有其他一些极具性价比的优惠活动,大家可以在京东页面上详细了解一下。

一、已经完成的功能

我觉得这种事情是不可避免的,孩子进入学校,就相当于进入了一个集体,一个小社会。这里面什么人都有,什么性格的孩子都会存在。我儿子上幼儿园了,还没听说过新认识的小朋友欺负或者嘲笑他,不过我看到过同院的小朋友欺负他!那个孩子比他大两个月,但是长得比我家孩子高,力气也更大一些。曾经见他欺负我家宝宝,我就告诉孩子,下次如果他再欺负你,你就跟他说:请住手,不然我要反击了。如果他不听还要继续的话,那就直接反击,让他知道你也不是好欺负的。真的就是这样,有一次我儿子反击了,之后那个孩子就收敛多了。我觉得对于孩子之间的活动,大人不能参与,但是可以给指导意见。让孩子们最好是适用语言好好沟通,不动手,如果发生矛盾,错

1、新增选项(默认未完成)

曾轶可:皮肤确实不错,还是化妆看着舒服周迅:素颜时的自然清新,也同样动人赵丽颖:依旧的娃娃脸,可爱哩姚笛:美虽美,但是小编我也不是很喜欢了张馨予:还可以吧杨幂:眼睛还是又大又亮,鼻子也很挺王珞丹:看来发型很重要章子怡:不愧是汪峰的女神宋茜:好深的眼袋唐嫣:糖糖要幸福呢

2、完成状态可以切换

3、当前选项可以删除

4、全部选项选中状态切换

5、全部个数,完成个数,未完成个数实时读取

6、刷新状态不变

7、双击可以编辑(有个坑:双击编辑内input的keyUp Enter保存会连带触发blur失去焦点保存。已解决:通过设置一个可以保存的状态控制)

二、待完成(新增路由)

三、目录结构

3.1、主要逻辑只涉及:Todo(父组件),TodoAdd(输入框子组件一),TodoList(选项列表子组件二)

3.2、父子组件通过props(可以是自定义属性、对象、回调函数)通信,每个组件都有自己的state,可以通过setState改变当前的state。

例如:新增的时候,父组件是如何知道新增了一个什么内容呢?如下:

// Todo.jsx内 //1 传递给子组件的回调函数,只要有心得内容传递过来,就更新当前的:list。list只要更新,通过props传递给TodoList的data就会更新,DOM就会新增一个选项列表 onAddSubmit(addTitle) { console.log("增加了:" + addTitle) let addItem = { title: addTitle, isFinished: false } this.state.list.unshift(addItem) this.setState({ list: this.state.list }) this._saveToSession() } // 通过props传递给子组件(等待使用) <TodoAdd onAddSubmit={this.onAddSubmit} /> // TodoAdd.jsx // 2、點擊enter鍵:有值就確認增加 _onKeyUpEnter(e) { if (e.keyCode == 13) { this.confirmAddItem() } } // 3、失去焦點:有值就確認增加 _onBlurEnter(e) { this.confirmAddItem() } // 4、確認增加,调用父组件的回调函数,传递参数 confirmAddItem() { if (this.state.title) { this.props.onAddSubmit(this.state.title) //把新增的内容通过props传进来的回调函数告诉父组件Todo,有新的内容来了 // 置空當前 this.setState({ title: "" }) } }

其他:上面这个简单的父子组件的通信过程和es6模块化通信非常类似,只是react做了优化,比如上面的使用es6来模拟如下,只是做了通信模拟:

// Todo.js 父模块 import TodoAdd from "./TodoAdd" import TodoList from "./TodoList" class Todo { constructor() { this.list = [] this.TodoAdd = new TodoAdd({ // 父模块给子模块的回调 resetList: (content) => { if (content) { this._updateList(content) } } }) this.TodoList = new TodoList({ list: this.list, }) } _updateList(content) { this.list.push(content) // 调用子模块的方法更新内部列表 this.TodoList && this.TodoList._getNewList(this.list) } } module.exports = Todo // TodoAdd.js 新增子模块 class TodoAdd { constructor({ resetList, }) { this.resetList = resetList } _onSubmit(str) { if (str) { // 1、告诉父模块新增了 this.resetList(str) } } } module.exports = TodoAdd // TodoList.js 列表子模块 class TodoList { constructor({ list, }) { this.list = [] this._getNewList(list) } // 3、监听父模块是否要更新 _getNewList(newList) { this.list = newList // 其他操作 } } module.exports = TodoList

以上所述是小编给大家介绍的React中的todo-list ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

React问题。ERROR in Entry module not found: Error: Can't resolve './js/index.js' in 'F:\

红色的文字已经表明了,你文件路径在webpack.config.js配置错误了,应该是entry这个的路径错误了,webpack找不到入口点。本回答被网友采纳

Can't resolve babel'这是什么原.来自react-china

Can't resolve babel'

无法解决杂声

你好

遇到这种情况,首先检查dom有没有渲染出来

如果一个dom都没有,那你的代码入口处存在问题

  • npm i --save-dev babel-loader

希望对你有帮助

react中Cannot find module "rc-form/lib/createFormField" ant design总是会报这个错误怎么解决

你的路径应该引入错误了,找到那个文件更正一下引入路径看看

What matters isn't what happens to you in life. What really matters is how you react to it

在你生活中发生了什么并不重要,重要的是你怎么对待这些事情。

怎么解决can't resolve react-addons-css-transition-group'

说明react不能响应这个问题。也没有办法解决。

希望我的回答可以帮到你,有什么不懂可以追问。

  • 本文相关:
  • react+redux的升级版todolist的实现
  • 用react实现一个完整的todolist的示例代码
  • ueditor 编辑器跨域上传解决方法
  • 百度编辑器ueditor前台代码高亮无法自动换行解决方法
  • ckeditor 附插入代码的插件
  • ueditor百度编辑器的html模式自动替换样式的解决方法
  • 在asp.net中kindeditor编辑器的使用方法小结
  • kindeditor 编辑器 v3.5.1 修改版
  • xheditor编辑器入门基础
  • 快速解决百度编译器json报错的问题
  • ueditor编辑器不能上传图片问题的解决方法
  • 针对php环境下fckeditor编辑器上传图片配置详细教程
  • React问题。ERROR in Entry module not found: Err...
  • Can't resolve babel'这是什么原.来自react-china
  • react中Cannot find module "rc-form/lib/createFo...
  • What matters isn't what happens to you in life....
  • 怎么解决can't resolve react-addons-css-transiti...
  • react项目报./src/App.js Module not found: Can't...
  • react couldn't find preset "es2015" relative to...
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved