当前位置: 首页 > 知识库问答 >
问题:

什么是紧急逃生舱?

阎知
2023-03-14

我一直在读丹·阿布拉莫夫的文章react as a rendering ui,看到了“紧急逃生舱”这个词。

我的问题是这是什么?有人能举一个例子吗?什么时候有用?

共有2个答案

羊舌成周
2023-03-14

Dan Abramov文章中的术语可能与React docs的这一部分有关:https://reactjs.org/docs/design-principles.html#escape-舱口。

简而言之,有些情况下React的声明性方法不适用,因此您必须应用命令式解决方案。在React中使用refs来控制组件,例如用于DOM操作,被认为是必要的。

汪理
2023-03-14

这个术语指的是命令式编程和函数式编程的结合。参见函数式和命令式编程语言之间的区别?有一些好的答案。

用纯函数式方法实现一些解决方案可能很困难,但是如果你主要用函数式编程和命令式编程的一些元素来实现,你就可以接近了。在链接的文章中,那些不是纯函数式的元素被称为“命令式转义舱口”

在纯函数式编程中,方法不会修改系统的状态,当给定相同的输入时,它们总是返回相同的输出。使用“Thomas”这样的名称并始终返回“Hello Thomas”的函数符合该描述。如果函数使用“Thomas”这样的名称,对用户进行地理定位,并返回“Howdy Thomas”或“G'day Thomas”这样的区域问候语,则不符合该描述。

可以重写第二个函数来接受两个参数,一个名称和一个位置,然后总是根据输入返回相同的结果,从而使其遵循函数范式。现在想象问候是基于日期、月份、星期几、一天中的时间、地区和性别的。在函数编程中,您需要将状态打包成传递给函数的数据结构。实际上,调用getGreting(“托马斯”,{date: 5,月份:“简”,day OfZacks:“星期一”等})而不是getGreting(“托马斯”),并依赖于由其他函数返回或在全局变量中访问的系统状态。

一个更复杂的例子是调用一个异步子例程,它需要不同的时间来完成。比方说,每2秒获取一个股票价格,需要1到5秒来完成。一旦任务完成,用户界面应该只更新最近发送的数据,而不是最近接收的数据。你不知道用户界面是否会根据下一个股票价格请求进行更新,在调用方法时,下一个股票价格请求返回之前,所以这对于纯函数式编程来说很棘手。不过,你可以使用一点命令式转义阴影。如果您将最近提交的请求发送的时间存储在全局变量中,您可以轻松地决定何时使用返回的股票价格来更新用户界面,何时将缓慢返回的请求抛出。

 类似资料:
  • 紧急联系人 基本描述 紧急联系人是乘车人在遇到紧急情况时向其发起帮助请求的人。设置紧急联系人时,可选择在特定时间段内开启自动行程分享功能。在该时段内,车辆位置和行程信息会通过短信自动分享给紧急联系人。在完成添加紧急联系人的情况下,乘车过程中乘车人如果触发紧急状态(如使用一键报警功能),系统会给乘客设置的所有紧急联系人发送短信,并在滴滴侧启动相应安全防护措施,最大程度地保护乘车人安全。紧急情况下,紧

  • 问题内容: 呼叫跟踪包含如下条目: ‘是什么意思?标记在AnotherFunctionName之前? 问题答案: ‘?’ 表示有关此堆栈条目的信息可能不可靠。 堆栈输出机制(请参见dump_trace()函数的实现)无法证明其找到的地址是调用堆栈中的有效返回地址。 ‘?’ 本身由printk_stack_address()输出。 堆栈条目可能有效还是无效。有时,人们可能只是跳过它。研究所涉及模块的

  • 说明 获取乘客是否已设置紧急联系人 请求地址 /v1/order/Safety/getContacterSetting HTTP请求方式 GET 支持格式 {url}?k1=v1&k2=v2&k3=v3&... 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey acces

  • 问题内容: 在尝试学习如何从恐慌中调试堆栈跟踪时,我遇到了一些令人困惑的问题。 当我在附加的播放链接上运行它时,输出以下内容: 我无法解读第二个数字的含义(main.F(0x1,0x10436000)中的0x10436000)。如果有第二个int参数,或者作为第一个参数传递的其他内容,则不会出现(可以在第二个播放链接中看到)。 一个arg:https : //play.golang.org/p/3

  • 主要内容:什么是云原生,云原生的4大组件,如何云原生什么是云原生 技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。Pivotal公司的Matt Stine

  • 问题内容: 我正在尝试使用mgo将objectid字符串转换为bson ObjectId格式, idk为什么,但是如果我输入了错误/无效的输入字符串,我的应用程序就会出现运行时恐慌 我该如何预防呢?谢谢 问题答案: 文档,如果您传递无效的对象ID将恐慌: ObjectIdHex从提供的十六进制表示形式返回ObjectId。 以无效的十六进制表示形式调用此函数将导致运行时恐慌。 请参见IsObjec