React框架(十四)Redux中的代码优化

题外话——react中Eslint配置 让你的代码更规范
——————————————————————————————————

一、ActionType的拆分

在之前的代码中,我们在使用action的时候,会定义一个字符串类型的type,这个帮助Redux知道组件要做什么事情,而当字符串出现拼写错误的时候,却不会在控制台出现警告,原因在于:程序会对未定义的常量或者变量报错,而不会对字符串报错,这很容易导致时间、精力的浪费。

于是出现了ActionType的拆分方法:

  1. 在store文件夹中定义一个新文件actionTypes.js
    在这里插入图片描述
  2. 从该文件中导出需要用到的type常量
export const CHANGE_INPUT_VALUE='change_input_value';
export const ADD_TODO_ITEM='add_todo_item';
export const DELETE_TODO_ITEM='delete_todo_item';
  1. 在组件中导入这三个常量,修改所有action中的type
  2. 在组件中导入这三个常量,修改Reducer中所有的type

二、使用actionCreator统一创建action

之前的代码里,每生成一次action,就要定义一次action对象,对于后期维护比较棘手,于是采用统一定义action的方法。

  1. 在store文件夹下创建actionCreators.js
    在这里插入图片描述
  2. 在该文件中定义方法来创建action
import {CHANGE_INPUT_VALUE,ADD_TODO_ITEM,DELETE_TODO_ITEM} from './actionTypes';

//用该函数返回一个对象
export const getInputChangeAction = (value) => ({
   type:CHANGE_INPUT_VALUE,
   value
});

export const getAddItemAction = () => ({
    type:ADD_TODO_ITEM
});

export const getDeleteItemAction = (index) => ({
    type:DELETE_TODO_ITEM,
    index
});
  1. 在组件中引入
    import {getInputChangeAction,getAddItemAction,getDeleteItemAction} from './store/actionCreators'
  2. 使用方法,如
    handleInputChange(event) {
        //action对象创建
        const action = getInputChangeAction(event.target.value);
        //把action传递给store
        store.dispatch(action);
    }

三、Redux设计和使用三个原则

  • store是唯一的,整个项目中只含有一个store
  • 只有store能够改变自己的内容,即subscribe中的函数来使自己更新
  • Reducer必须是纯函数(纯函数:给定固定的输入,就一定会有固定的return输出,而且不会有任何副作用),不允许出现异步、ajax请求、日期关联的内容,没有任何副作用是指不对传入的参数进行任何修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习 React 框架的原理的一个好方法是从官方文档开始。React 官方网站提供了一些教程和文档,可以帮助您了解 React 的基础概念和用法。 首先,您可以阅读 React 的官方教程,了解 React 如何工作,包括它的基本概念、组件、状态和生命周期等。这将有助于您熟悉 React 的基础用法。 其次,您可以学习 React 的官方文档,深入了解 React 的各种功能和用法。React 官方文档包含了大量的详细信息,可以帮助您了解 React 的详细原理。 此外,您还可以通过实践来加深对 React 的理解。您可以尝试使用 React 构建一些小型应用或者尝试在现有应用使用 React。通过不断实践和探究,您可以进一步加深对 React 的理解。 另外,您还可以参加一些在线课程或者报名参加 React 相关的培训,从专业人士那里学习 React 的知识和技巧。这些方式可以帮助您更快地掌握 React,并且能够得到专业的指导和帮助。 ### 回答2: 学习React这门框架的原理可以按照以下步骤进行: 1. 学习JavaScript基础:React是基于JavaScript语言的,因此首先需要熟悉JavaScript的基本语法、函数、对象等概念。了解JavaScript的基础知识会有助于理解React的工作原理。 2. 学习React的核心概念:React的核心概念包括组件、虚拟DOM、状态和属性等。通过阅读React官方文档或相关教程,在编写简单的React组件时要了解这些概念的作用和用法。 3. 掌握React的生命周期:React组件具有生命周期,包括组件的创建、更新和销毁等阶段。掌握React的生命周期方法,比如`componentDidMount`、`componentDidUpdate`等,可以更好地理解组件是如何工作的。 4. 理解React的虚拟DOM:React通过虚拟DOM来实现高效的页面更新。了解虚拟DOM的概念和原理,以及与真实DOM的区别,对于优化性能和理解React工作原理很有帮助。 5. 阅读React源码:阅读React源码是学习其原理的最佳途径之一。通过查看React的源码,可以深入理解其内部实现机制,例如组件渲染、事件处理、状态更新等。 6. 实践项目:通过实践项目来应用和巩固学习的知识。可以尝试创建简单的React应用、组件库或其他前端项目,通过实践来加深对React原理的理解。 7. 参与社区:加入React社区,与其他开发者交流并学习。可以参与讨论、提问问题,获得更多关于React原理方面的经验和见解。 在学习React的原理过程,需要保持持续的学习和实践,并且不断关注最新的React版本和更新,以保持与时俱进。 ### 回答3: 学习React框架的原理主要分为以下几个步骤: 1. 掌握基础知识:学习React的基础概念,包括组件、虚拟DOM、状态和属性等。理解React的思想和设计模式,学习React相关的JavaScript语法和ES6+特性。 2. 实践项目:选择一个小型的React项目,通过实际的编码过程来理解React的使用和原理。可以先从快速搭建React开发环境开始,然后逐步添加组件、处理事件和状态等。通过项目实践,深入理解React的工作原理。 3. 深入研究源码:阅读React的源代码是学习React原理的重要一环。可以从React的官方文档找到源码地址,阅读和分析React的核心模块。重点关注虚拟DOM的实现以及组件的生命周期等。可以通过调试源码、查阅相关资料和参考优秀的开源实现等方式来加强理解。 4. 学习相关技术栈:React通常会和其他技术栈一起使用,如Webpack、Babel、Redux等。学习这些相关的技术可以更好地理解React的原理及其与其他技术的结合。可以参考相关文档、教程和实践项目来学习这些技术。 5. 参与社区和交流:积极参与React的相关社区和交流平台,如官方论坛、GitHub等,与其他开发者交流、分享经验和学习资源。参与开源项目,审阅他人的代码,给出自己的建议和改进。通过与社区的互动,不断提升自己的技术水平。 总之,学习React的原理需要结合理论和实践,通过实际的项目和阅读源码来加深对其原理的理解。同时,学习相关技术栈和积极参与社区交流也是提高React技术水平的重要途径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值