具有Reactredux express的第一印象redux tic tac toe

2024-03-10 16:30

本文主要是介绍具有Reactredux express的第一印象redux tic tac toe,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

I had no prior experience with redux, was looking for a chance to get into it a bit more. These scripts (English, Javascript) can help you too or may be you can help me by suggesting my mistakes.

我以前没有关于redux的经验,正在寻找机会进一步使用它。 这些脚本(英语,Javascript)也可以为您提供帮助,或者可以通过提示我的错误来帮助我。

Why you should not read the English script because it is full of non programmer weird examples.

为什么您不应该阅读英语脚本,因为它充满了非程序员怪异的示例。

Why you should read the Javascript:

为什么要阅读Javascript:

=> Understand Redux basics of state management with its middleware for async http request calling

=>了解状态管理的Redux基础知识及其中间件,用于异步http请求调用

=> Single composition of multiple dockers

=>多个docker的单一组成

if you do not like to read English language script than here is the link for story in javascript: https://github.com/mrmanna/react-redux-express-tictactoe

如果您不喜欢阅读英语脚本,那么以下是javascript中故事的链接: https : //github.com/mrmanna/react-redux-express-tictactoe

So if you still want read English scripts, here it is:

因此,如果您仍然想阅读英语脚本,则为:

Do you know these following pains:

您知道以下这些痛苦吗?

  1. Async functions callback handling and DOM updating considering multiple states in multiple components at a time.

    异步函数回调处理和DOM更新同时考虑多个组件中的多个状态。
  2. Request param and post.body json data mapping and callback json to view bind property mapping

    请求参数和post.body json数据映射以及回调json以查看绑定属性映射

In single page web application there are countless pains as if like last transport after office and everybody is trying to get in.

在单页Web应用程序中,有无数的痛苦,就好像下班后的最后一次运输一样,每个人都试图进入。

When I tried to understand Redux by reading their site and examples, I felt like some guys are trying to address these pains. And this week, I got a recruiter call and he gave me this Redux task and as he saw in my profile no React and no Redux, and I am not interested much in scripting frontend, he was hesitating to give me the task. But I jumped in, mostly for this opportunity to date Redux.

当我尝试通过阅读Redux的站点和示例来了解Redux时,我感到有些人正在尝试解决这些难题。 本周,我接到了招聘人员的电话,他给了我这个Redux任务,正如他在我的个人资料中看到的那样,没有React和Redux,而且我对编写脚本前端不感兴趣,他很犹豫是否要给我任务。 但是我加入进来,主要是因为这个机会可以和Redux约会。

Because in my last large single page project with KnockoutJs, I had to write a framework, so my team of 10+ developers have a single way of handling pre-data, post-data of http async calling and we named its main provider AsyncCallHanlder and for the whole DOM state management I had given another Provider called ApplicationContext (yes I know it is javascript not springboot). But It helped! and my team got aligned and they were happy to have this AsyncCall&CallBackManager and DOMStateStore and we continued 3+ years until we realized this ApplicationContext had become too big with plenty of boot time loading and binding that in Citrix environment with IE9 browser users can not even load the App. So once the blessing is appearing like a curse.

因为在我最后一个使用KnockoutJs的大型单页项目中,我必须编写一个框架, 所以由10个以上的开发人员组成的团队可以用一种方法来处理HTTP异步调用的前置数据,后置数据,因此我们将其主要提供者AsyncCallHanlder和对于整个DOM状态管理,我给了另一个名为ApplicationContext的提供程序 ( 是的,我知道这是JavaScript而不是springboot )。 但这有帮助! 和我的团队取得了一致,他们很高兴拥有AsyncCall&CallBackManage r和DOMStateStore ,我们持续了3年多的时间,直到我们意识到ApplicationContext变得太大了,并且具有大量的启动时间加载和绑定,而在Citrix环境下,带有IE9浏览器的用户甚至无法使用加载应用。 因此,一旦祝福像诅咒一样出现。

So the global AsyncCall&CallBackManager was not the problem, the problem was global DOMStateStore. Yes, this is why when I saw Redux manages states with a global store, I just became curious to know how it works. I have no idea how it will perform with its Store for large single page applications. But if you can think frontend modular and not try to put the whole world in single page than I think it is (Redux) is what you should use. (though its is very early for me to comment such )

因此 ,全局AsyncCall&CallBackManage r不是问题, 而是全局DOMStateStore。 是的,这就是为什么当我看到Redux通过一家全球商店管理州时,我只是好奇地知道它是如何工作的。 我不知道它将如何与大型单页应用程序的Store一起执行。 但是,如果您可以想到前端模块化,而不是尝试将整个世界都放在一个页面中,那么您应该使用(Redux)。 (尽管对我这样评论还为时过早)

So the big story, I am telling here to relate you with the pain, so you can understand where Redux will help you. So lets turn back to our Tic-tac-toe,

因此 ,重要的是,我在这里告诉您与痛苦相关联, 以便您了解Redux将在哪些方面为您提供帮助。 所以,让我们转回到我们的井字tac- 脚趾

if you do not like to read English language script than here is the link for story in javascript: https://github.com/mrmanna/react-redux-express-tictactoe

如果您不喜欢阅读英语脚本,那么以下是javascript中故事的链接: https : //github.com/mrmanna/react-redux-express-tictactoe

State <= Action* < = View, so state change of the application through actions generated from views. So in between View and Application State there are lots of lots of actions.

状态<=操作* <=视图因此通过视图产生的操作来更改应用程序的状态。 因此 ,在视图和应用程序状态之间有很多动作。

What is Action? Really! I have not thought this question before. But I know Mr. Newton’s first law :

什么是动作 ? 真! 我以前从未想过这个问题。 但是我知道牛顿先生的第一定律:

that every object will remain at rest or in uniform motion in a straight line unless compelled to change its state by the action of an external force.

每个对象将在一条直线上保持静止或在匀速运动,除非被迫通过外力的作用来改变其状态。

I do not know what you observed in this law, but I found action is a bogus thing without object 😁

我不知道您在这部法律中所观察到的内容,但我发现行动是虚假的事情,没有任何异议 😁

Image for post

But in between this action and object, there is a hidden puppet master, yes like Mr. Hitler who did not perform the action killing but commanded the action. Okay, I see someone is not liking the word command, then lets say it like dispatched the action. Okay, now design pattern masters can jump in. Oh! you are talking about command pattern. Yes, I found some people who call it Strategy Pattern. And I was surprised, okay so commanding is strategic! I live in a strange world. This strategic people need middlemen (plural) and they pass it to performers.

但是在这个动作物体之间有一个隐藏的木偶大师,就像希特勒先生一样,没有执行该动作 杀死但命令了行动。 好的,我看到有人不喜欢命令一词,然后像派遣动作那样说。 好的,现在设计模式大师可以加入。哦! 您正在谈论命令模式。 是的,我发现有人称其为“战略模式”。 我很惊讶,好吧,指挥是战略性的! 我生活在一个陌生的世界。 这个有战略意义的人需要中间人 (复数),然后将其传递给表演者

So the (Action/Dream) planned by=> Strategic People (Containers/View) => dispatches/Commands => Middlemen (Commands) =>Middlemen (Commands) =>Middlemen (Commands) =>Middlemen (Commands) => then some real work happens by workers(Reducers) and => strategic people gets happy or sad (state changes) and they buy a souvenir to make this change memorable (Store) and again they dream… let the drama go on…

所以 计划 的( 行动 /梦想)=>战略人物(容器/ 视图 )=> 调度 / 命令 =>中间人(命令)=>中间人(命令)=>中间人(命令)=>中间人(命令)=>工人( 减速器 ) 发生了一些实际的工作 ,=>战略人物变得高兴或难过( 状态 变化),他们购买了纪念品以使这种变化令人难忘( Store ),然后他们又梦想着……让戏剧继续下去……

and you can call these middlemen as middlewares 😁. This is Redux.

您可以将这些中间商称为中间件😁。 这是Redux。

if you have lost patience, please read code: https://github.com/mrmanna/react-redux-express-tictactoe

如果您失去了耐心,请阅读代码: https : //github.com/mrmanna/react-redux-express-tictactoe

Okay, lets get serious

好吧,让我们认真一点

Redux Providing

Redux提供

  1. State Store

    国营商店
  2. Global Action Dispatching control

    全局动作调度控制
  3. Application objects and components property mapping with its state through Reducing functions

    通过减少功能将应用程序对象和组件属性映射为其状态

In this application (tic-tac-toe) you can find the whole game state is managed from a top container/view component Tictactoe and decides what actions should go to what component. e.g. the main action of this game is selectingbox (either O or X by a user) and if once the box is selected other can not undo it. On selection we have to check is it a winning move or not. So on this action what are states changes:

在此应用程序(井字游戏)中,您可以找到整个游戏状态是从顶部容器/视图组件Tictactoe管理的,并确定应对哪个组件执行哪些操作。 例如,该游戏的主要动作是选择框(用户选择O或X),如果选择了该框,其他操作将无法撤消。 选择时,我们必须检查它是否是获胜的举动。 因此,在此操作上,状态发生了什么变化:

  • GAME_STATE => RUNNING| DRAW | WON

    GAME_STATE => RUNNING | 抽奖| 韩元

  • CURRENT_USER_STATE => FIRST USER (O) | SECOND USER (X)

    CURRENT_USER_STATE => FIRST USER(O)| 第二用户(X)

  • WINNER_STATE => FIRST USER (O) | SECOND USER (X) | NONE So what properties can define these states:

    WINNER_STATE => FIRST USER(O)| 第二用户(X)| 那么什么属性可以定义这些状态:

  • BOX => {BOX NO, IS_SELECTED, WHO_SELECTED}

    BOX => {BOX NO,IS_SELECTED,WHO_SELECTED}

  • SESSION => {CURRENT_USER, GAME_ID, GAME_CURRENT_STATE} That’s all !

    SESSION => {CURRENT_USER,GAME_ID,GAME_CURRENT_STATE}就这些!

Oh! There is always a big challenge for any application that is called — INITIALIZATION — means booting/bootstrapping and we can consider it as another big action called LOAD_GAME. In this application we used a backend memory based API through express server, so if you refresh the browser or get back any time later to play the game you can find it exactly where you left it and it can even handle states of multiple games from multiple browsers.

哦! 对于任何被称为INITIALIZATION的应用程序,始终存在着巨大的挑战,这意味着进行引导/引导,我们可以将其视为另一个名为LOAD_GAME的重大操作 在此应用程序中,我们通过快递服务器使用了基于后端内存的API, 因此,如果您刷新浏览器或以后任何时间回来玩游戏,您都可以找到它的确切位置,甚至可以处理多个游戏的状态。浏览器。

If you want to enjoy life, reconsider not becoming a programmer 😁, as you will be Reducer 😜 under middlemen who will be under strategist …. Or may be stay patient someday this under under like miners will give you brighter diamonds.

如果你想享受生活,重新考虑不成为一个程序员😁,因为你会减速 😜下中间商谁将会是下战略家......。 或者有朝一日可能会耐心等待例如矿工会为您提供明亮的钻石。

翻译自: https://medium.com/@mrmanna/first-impression-redux-tic-tac-toe-with-react-redux-express-1f91c936f704


http://www.taodudu.cc/news/show-8487515.html

相关文章:

  • 自动化基础知识_基础设施自动化
  • 《Adobe Photoshop大师班:高级合成的秘密》—第1章区域分布
  • 第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司(1)
  • ETH开发机器人“木偶大师”!动作精准,未来或用于建筑工地
  • 悬赏1000万美元,打假AI换脸!Facebook发起Deepfakes检测挑战赛
  • 突遭罢免难以接受 臧黎璐称与二次庭审有关
  • 冀教版计算机教案小学,冀教版小学信息技术教案
  • 偏远山区乡村小学英语开设现状分析
  • 2016互联网+零售高峰论坛5月在沪强势回归
  • 2020中国大学生计算机设计大赛中南赛区,我院学子获中国大学生计算机设计大赛中南赛区一等奖...
  • 霸屏天下隐私政策
  • 天下3登入认证服务器维护中,天下3五招教你解决登录天下3时的断线问题_17173天下3官网合作专区...
  • 客达天下项目案例
  • 人工智能笔记13 --知识图谱(1)
  • 脑筋急转弯-3
  • succi - 爬取脑筋急转弯
  • xinxin -爬取脑筋急转弯
  • 用什么擦地最干净脑筋急转弯_“什么动物早上四条腿?”:7岁孩子的脑筋急转弯,充满人生智慧...
  • 关于找不到d3dcompiler_43.dll,无法继续执行代码的四个解决方法
  • 锂的用途——从润滑剂到能源金属(二)
  • 为什么程序员没有成为飞行员那样体面的工作
  • [网络流24题] 飞行员配对方案问题 最大流 二分图最大匹配
  • 洛谷 P2756 飞行员配对方案问题(dinic算法)
  • 飞行员配对问题 | 网络流:最大二分匹配(匈牙利算法)
  • 网络流二十四题:飞行员配对方案问题
  • 51nod 2006 - 飞行员配对 - 二分图最大匹配(匈牙利算法模板题)
  • MJPG-streamer源码分析-输出部分
  • 爆笑中反思:美国次贷危机的最简明解释版
  • 没人能完全幸免的美国次贷危机
  • Shell 脚本攻略—Here Document 免交互与 Expect 自动化交互
  • 这篇关于具有Reactredux express的第一印象redux tic tac toe的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/794815

    相关文章

    Nodejs的Express框架使用总结

    初始安装express,你也可以通过编辑器的shell安装依赖,比如vs # 创建并切换到 myapp 目录mkdir myappcd myapp# 初始化 package.json 文件npm init -y# 安装 express 到项目中npm i express 新建一个基础的接口 // 0. 加载 Expressconst express = require('expre

    PCI Express 体系结构导读摘录(二)

    系列文章目录 PCI Express 体系结构导读摘录(一) PCI Express 体系结构导读摘录(二) 文章目录 系列文章目录第Ⅱ篇  PCI Express 体系结构概述第 4 章  PCIe 总线概述4. 1  PCIe 总线的基础知识4. 1. 1  端到端的数据传递4. 1. 2  PCIe 总线使用的信号4. 1. 3  PCIe 总线的层次结构4. 1. 4

    sql 中名字 不可以 包含 mysql中 具有 特定意义 的单词

    这种sql执行不报错 这种sql执行报错 所以sql中名字不可以使用mysql中具有特定意义的单词 以此文章作为警告,我下次起名字不可以使用 mysql中具有特殊意义的字符 就因为这个导致我搞了一个多小时,急死我了,周五就要前后端联调了。下次千万不能随便起名字了

    node.js Express框架学习笔记

    简介 参考网址——点击打开链接 Express是一个简介而灵活的node.js应用框架,提供了一系列特性来帮助创建各种web应用和丰富的HTTP工具 使用Express可以快速地搭建一个完整功能的网站 Express框架核心特性: 可以设置中间件来响应http请求定义了路由表用于执行不同的http请求动作可以通过模板传递参数来动态渲染HTML页面 安装 npm install ex

    《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(7)

    接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(6) 7.1 数据链路层的组成结构 7.1.1 数据链路层的状态 3. DL_Active状态 当数据链路层处于DL_Active状态时,PCIe链路可以正常工作。此时数据链路层可以从事务层和物理层正常接收和发送TLP、并处理DLLP,此时数据链路

    Typescript实现react-redux的useSelector和useDispatch的状态定义

    背景:react中使用typescript,在引入redux之后很多状态定义有问题,记录下来(文章记录学习react-redux过程中的踩坑)。 1.useSelector时,state语法报错,类型为unknown,如下图 我的store状态设置的很简单,两个模块导出,只在state中定义了一个基础类型 在组件中使用useSelector取state中的值,然后报state类型未知 我

    论文速读|ROS-LLM:具有任务反馈和结构化推理的具身智能ROS 框架

    论文地址:https://arxiv.org/pdf/2406.19741  ROS-LLM 框架旨在通过集成大型语言模型(LLM)和机器人操作系统(ROS),实现对机器人的直观编程。该框架支持通过聊天界面接收自然语言提示,并能够根据 ROS 环境中的传感器读数自动提取和执行行为。框架支持三种行为模式:序列、行为树和状态机。此外,通过模仿学习,用户可以向系统添加新的机器人动作。该研究通过实验

    HT97230 具有3D环绕和低音增强功能的125mW免输出耦合电容的立体声线路驱动器1耳机放大器

    特点 可调节的3D环绕功能 可调节的低音增强功能 输出无需隔直流电容 卓越的低音效果! 无咔嗒/噼噗声 低THD+N:最低0.001% 低噪声,VN:7μV 支持单端输入和全差分输入 2.5V至5.2V较宽的电源工作范围 输出功率: 125mW(fIN =1kHz,VDD=5V,RL=32Ω THD+N=0.1%) 输出摆幅: 3Vrms (fIN = 1kHz, VDD=5V, RL=1kΩ,

    React应用中的状态管理:Redux vs Context API

    聚沙成塔·每天进步一点点 本文回顾 ⭐ 专栏简介React应用中的状态管理:Redux vs Context API1. 引言2. Redux2.1 Redux简介2.2 Redux的核心概念2.2.1 单一状态树(Single Source of Truth)2.2.2 Actions2.2.3 Reducers2.2.4 Store 2.3 Redux的优点2.4 Redux的缺点

    知名专家郑茂林:SCDO主网与子网的交互自然系统在未来具有无限潜力

    2020年8月26日,SCDO全球区块链技术大会于深圳隆重启幕。SCDO资深顾问,互联网金融及大数据行业内领军人物郑茂林博士在会上做了重要演讲。 郑茂林强调:SCDO的分片技术可以实现交易速度的成倍增长 在会上,郑茂林对SCDO的算法与数据模型进行了具体解说,强调SCDO的分片技术可以实现交易速度的成倍增长,共识算法ZPoW的CPU绝对友好,主链协议可以使SCDO主网延伸到各个应用领域。郑博士