Todo

作者: guangtoutou | 来源:发表于2018-08-05 22:12 被阅读0次

    学React和Angular有一段时间了,想检验一下学习的成果,就拿Todo这个最简单的例子练个手吧

    React

    组件化

    一个container component,里面包含了TodoForm,TodoList和Footer三个组件

    状态管理

    Todo的状态管理不复杂,所以没有使用redux,就用原生的state来写就好。三个子组件通过lifting state up,来修改container component中的State
    state={todos:[{id:string,title:string,completed:boolean}],filter: number }

    Data Binding

    因为要显示Todo List,所以会用到List。React规定,List item必须要定义key。我要把一个数组绑定到List上,默认的Key就是数组的index,但是这样做后面发现其实是有问题的。后来就在todo的state中加上了一个id,每次创建一条todo时生成一个unique的id

    Event Binding

    todo程序要实现一个效果,就是鼠标放到一条todo上时,显示delete按钮,移开时不显示。一开始用onMouseOver/onMouseOut有问题,好像会跟delete按钮的事件冲突;然后用onMouseEnter/onMouseLeave,解决了冲突的问题,但是当配合filter使用时,还是有问题。
    最后用了CSS的hover来解决

    CSS

    相关文章

      网友评论

        本文标题:Todo

        本文链接:https://www.haomeiwen.com/subject/xsdivftx.html