返回顶部
首页 > 资讯 > 精选 >React新框架Mirror怎么使用
  • 539
分享到

React新框架Mirror怎么使用

2023-06-04 06:06:50 539人浏览 独家记忆
摘要

本篇内容介绍了“React新框架Mirror怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mirror 是一款基于 React、Re

本篇内容介绍了“React框架Mirror怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Mirror 是一款基于 React、Redux 和 react-router 的前端框架,简洁高效、灵活可靠。

为什么?

我们热爱 React 和 Redux。但是,Redux 中有太多的样板文件,需要很多的重复劳动,这一点令人沮丧;更别提在实际的 React 应用中,还要集成 react-router 的路由了。

一个典型的 React/Redux 应用看起来像下面这样:

actions.jsexport const ADD_TODO = 'todos/add'export const COMPLETE_TODO = 'todos/complete'export function addTodo(text) {  return {    type: ADD_TODO,    text  }}export function completeTodo(id) {  return {    type: COMPLETE_TODO,    id  }}
reducers.jsimport { ADD_TODO, COMPLETE_TODO } from './actions'let nextId = 0export default function todos(state = [], action) {  switch (action.type) {    case ADD_TODO:      return [...state, {text: action.text, id: nextId++}]    case COMPLETE_TODO:      return state.map(todo => {        if (todo.id === action.id) todo.completed = true        return todo      })    default:      return state  }}
Todos.jsimport { addTodo, completeTodo } from './actions'// ...// 在某个事件处理函数中dispatch(addTodo('a new todo'))// 在另一个事件处理函数中dispatch(completeTodo(42))

看起来是不是有点繁冗?这还是没考虑 异步 action 的情况呢。如果要处理异步 action,还需要引入 middleware(比如 redux-thunk 或者 redux-saga),那么代码就更繁琐了。

使用 Mirror 重写

Todos.jsimport mirror, { actions } from 'mirrorx'let nextId = 0mirror.model({  name: 'todos',  initialState: [],  reducers: {    add(state, text) {      return [...state, {text, id: nextId++}]    },    complete(state, id) {      return state.map(todo => {        if (todo.id === id) todo.completed = true        return todo      })    }  }})// ...// 在某个事件处理函数中actions.todos.add('a new todo')// 在另一个事件处理函数中actions.todos.complete(42)

是不是就简单很多了?只需一个方法,即可定义所有的 action 和 reducer(以及 异步 action)。

而且,这行代码:

actions.todos.add('a new todo')

完全等同于这行代码:

dispatch({  type: 'todos/add',  text: 'a new todo'})

完全不用关心具体的 action type,不用写大量的重复代码。简洁,高效。

异步 action

上述代码示例仅仅针对同步 action。

事实上,Mirror 对异步 action 的处理,也同样简单:

mirror.model({  // 省略前述代码  effects: {    async addAsync(data, getState) {      const res = await Promise.resolve(data)      // 调用 `actions` 上的方法 dispatch 一个同步 action      actions.todos.add(res)    }  }})

没错,这样就定义了一个异步 action。上述代码的效果等同于如下代码:

actions.todos.addSync = (data, getState) => {  return dispatch({    type: 'todos/addAsync',    data  })}

调用 actions.todos.addSync 方法,则会 dispatch 一个 type 为 todos/addAsync 的 action。

你可能注意到了,处理这样的 action,必须要借助于 middleware。不过你完全不用担心,使用 Mirror 无须引入额外的 middleware,你只管定义 action/reducer,然后简单地调用一个函数就行了。

更简单的路由

Mirror 完全按照 react-router 4.x 的接口和方式定义路由,因此没有任何新的学习成本。

更方便的是,Mirror 的 Router 组件,其 history 对象以及跟 Redux store 的联结是自动处理过的,所以你完全不用关心它们,只需关心你自己的各个路由即可。

而且,手动更新路由也非常简单,调用 actions.routing 对象上的方法即可更新。

理念

Mirror 的设计理念是,在尽可能地避免发明新的概念,并保持现有开发模式的前提下,减少重复劳动,提高开发效率。

Mirror 总共只提供了 4 个新的 api,其余仅有的几个也都是已存在于 React/Redux/react-router 的接口,只不过做了封装和强化。

所以,Mirror 并没有“颠覆” React/Redux 开发流,只是简化了接口调用,省去了样板代码:

在对路由的处理上,也是如此。

如何使用?

使用 create-react-app 创建一个新的 app:

$ npm i -g create-react-app$ create-react-app my-app

创建之后,从 npm 安装 Mirror:

$ cd my-app$ npm i --save mirrorx$ npm start

“React新框架Mirror怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: React新框架Mirror怎么使用

本文链接: https://lsjlt.com/news/236689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • React新框架Mirror怎么使用
    本篇内容介绍了“React新框架Mirror怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mirror 是一款基于 React、Re...
    99+
    2023-06-04
  • react框架怎么安装和使用
    要安装和使用React框架,你需要按照以下步骤进行操作: 安装Node.js:React需要Node.js来运行和构建应用程序。...
    99+
    2023-10-27
    react
  • 使用react框架需要注意什么
    这篇文章主要为大家展示了“使用react框架需要注意什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“使用react框架需要注意什么”这篇文章吧。这篇文章主要是...
    99+
    2024-04-02
  • 如何在React框架中使用SpreadJS
    如何在React框架中使用SpreadJS,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第1步:设置HTML5页面首先,我们需要在页面中添加对React的引用:...
    99+
    2023-06-04
  • Swift的Mirror反射怎么使用
    这篇文章主要介绍了Swift的Mirror反射怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Swift的Mirror反射怎么使用文章都会有所收获,下面我们一起来看看吧。元类型与.selfAnyObjec...
    99+
    2023-07-02
  • Spring5新功能日志框架Log4j2怎么使用
    这篇文章主要讲解了“Spring5新功能日志框架Log4j2怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring5新功能日志框架Log4j2怎么使用”吧!Spring5整合Lo...
    99+
    2023-06-30
  • react 属于什么框架
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react 属于什么框架react属于一种web前端开发框架。React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目,该公...
    99+
    2023-05-14
    React
  • HTML框架怎么使用
    本篇内容主要讲解“HTML框架怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML框架怎么使用”吧!     HTML框架 &...
    99+
    2024-04-02
  • Node.Js框架怎么使用
    本篇内容介绍了“Node.Js框架怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   项目前期准...
    99+
    2024-04-02
  • 怎么使用HTML框架
    本篇内容主要讲解“怎么使用HTML框架”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用HTML框架”吧!通过使用框架,你可以在同一个浏览器窗口中显示不止一...
    99+
    2024-04-02
  • 怎么使用jwEngine框架
    本篇文章为大家展示了怎么使用jwEngine框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。jwEngine一个跨平台的c++<->lua服务器快速解...
    99+
    2024-04-02
  • 怎么使用WCF框架
    这篇文章主要为大家展示了“怎么使用WCF框架”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么使用WCF框架”这篇文章吧。框架其实就是一种规范的流程,它可以让我们的流程很清晰,代码更规范。下面我...
    99+
    2023-06-17
  • Vue框架怎么使用
    本文小编为大家详细介绍“Vue框架怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue框架怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Vue 的使用步骤创建一个标签,用于数据的填充引入 Vue...
    99+
    2023-06-27
  • 怎么使用pytorch框架
    这篇文章主要讲解了“怎么使用pytorch框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用pytorch框架”吧!  中文新闻情感分类 Bert-Pytorch-transform...
    99+
    2023-06-02
  • aforge.net框架怎么使用
    要使用AForge.NET框架,你需要进行以下步骤:1. 下载AForge.NET框架:你可以从官方下载AForge.NET框架的最...
    99+
    2024-02-29
    aforge.net
  • 怎么使用Component的React框架的柱状图和折线图
    这篇文章主要讲解了“怎么使用Component的React框架的柱状图和折线图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Component的React框架的柱状图和折线图”吧!导...
    99+
    2023-06-04
  • vue与react是什么框架
    本篇内容介绍了“vue与react是什么框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • react-native ui框架是什么
    本文小编为大家详细介绍“react-native ui框架是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“react-native ui框架是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
  • react指的是什么框架
    本文将为大家详细介绍“react指的是什么框架”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“react指的是什么框架”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。r...
    99+
    2023-06-06
  • react框架有什么特点
    今天小编给大家分享的是react框架有什么特点,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。react是一种Web开发框架,是用于构建用户界面的JavaScript库;react主要...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作