react+redux+antd图书管理系统学习

1. 之前学习到的是代码二,而在redux官方文档中有这样一段描述:不要修改 state。 使用 Object.assign() 创建了一个副本。不能这样使用 Object.assign(state, {visibilityFilter: action.filter }),因为它会改变第一个参数的值。你必须把第一个参数设置为空对象。在redux-devtools中,我们可以查看到redux下所有通过reducer更新state的记录,每一个记录都对应着内存中某一个具体的state,让用户可以追溯到每一次历史操作产生与执行时,当时的具体状态,这也是使用redux管理状态的重要优势之一.若不创建副本我们将无法追溯state变更的历史记录.创建副本也是为了保证向下传入的this.props与nextProps能得到正确的值,以便我们能够利用前后props的改变情况以决定如何render组件

代码一
switch(action.type){
        case 'INIT_BOOK_ACTION':
            return Object.assign({},state,{
                data : [...action.payload]
            })
        default:
            return state } 代码二               switch(action.type){ case 'add': return state+1 default: return state
}

2. ...是ES6的语法,是展开运算符,例如

var array = [1,2,3,4,5,6,7];
console.log(array);
//输出 [1, 2, 3, 4, 5, 6, 7]
console.log(...array);
//输出 1 2 3 4 5 6 7

先把要的数据拆开,再组装

switch(action.type){
        case 'INIT_BOOK_ACTION':
            return Object.assign({},state,{
                data : [...action.payload]
            })
    case 'ADD_BOOK_ACTION' :
     return Object.assign({},state,{
    data : [...state.data,action.payload]
    })
    default: return state 
}
export const initBookAction = (data) => {
return {
type : INIT_BOOK_ACTION,
payload : data
}
}

3.

单向数据绑定指的是我们先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HTML代码

优点:
所有状态的改变可记录、可跟踪,源头易追溯;
所有数据只有一份,组件数据只有唯一的入口和出口,使得程序更直观更容易理解,有利于应用的可维护性;
一旦数据变化,就去更新页面(data-页面),但是没有(页面-data);
如果用户在页面上做了变动,那么就手动收集起来(双向是自动),合并到原有的数据中。
 
双向数据绑定,数据模型(Module)和视图(View)之间的双向绑定。无论数据改变,或是用户操作,都能带来互相的变动,自动更新。
 
4. 不知道action中的payload是什么
5. import / export :es6代码模块化模式
6. let 声明语句 : 块级变量声明语句
7. 箭头函数: (..) => {..} 形式的函数
 

转载于:https://www.cnblogs.com/ziduan/p/9494063.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(1)图书类别信息管理:作为一个学校的图书馆,涉及到的图书是很多的,这就有必要对图书进行分门别类,这样有利于对图书的查询和管理。不同的图书类别可以借阅的天数也是不一样的,管理员登陆系统后可以对图书类别进行添加,更新和删除操作。 (2)图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了,只有将图书馆拥有的图书录入系统中,读者朋友在登陆系统后才可以查询到自己喜欢的该图书。 (3)读者类别管理:为了方便图书馆的管理,系统对读者的类别进行了分别,不同的读者类别可以借阅图书的数目是不一样的。管理员在登陆系统后可以这个读者类别信息进行管理,包括添加读者类别信息,修改读者类别,删除读者类别,特别是执行删除操作时需要保持数据库表数据之间的一致性。 (4)读者信息管理:当管理员把读者类别信息编辑好完成后,就可以办理读者信息了,管理员可以添加新的读者信息,修改已经存在的读者信息,删除读者信息。 (5)图书借阅管理:读者可以登陆系统查询自己喜欢的图书,然后到图书馆进行图书借书的登记操作,当读者看完了书或需要归还时,需要拿着自己的图书到图书馆进行归还,此时有管理员办理图书归还业务。当然,如果读者借阅了图书因某种原因忘记了归还,管理员还可以对这些信息进行统计,同时,管理员还可以对已经出借的图书进行续借的办理。 (6)系统设置: 管理员登陆系统后可以修改图书馆的信息,可以修改管理其他操作员的信息,可以管理书架信息。 (7)口令更改:无论是管理员或读者身份登陆系统后,都可以对自己的登陆密码进行修改操作,这样保证了系统的安全性。 (8)系统特点:采用MVC设计模式,完全采用面向对象的设计思想,使用了开源框架Struts。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值