- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如何使用 Flow 对从 fromJS
生成的 Immutable.JS 数据结构的形状进行类型检查?可以使用对象字面量符号非常准确地键入普通的旧 JS blob:
type ObjectShape = {
a: number,
b: string,
c: {
d: number,
},
e: Array<number>
};
const obj: ObjectShape = { // hyper-accurate
a: 1,
b: '2',
c: {
d: 3,
},
e: [4]
}
但是,在 Immutable.js 方面,似乎有两个主要的并发症:
似乎 Immutable.js 的 fromJS
方法返回 any
( https://github.com/facebook/immutable-js/blob/master/type-definitions/immutable.js.flow#L764 ),因此在 Flow 中没有捕获到以下错误:
const map: boolean = fromJS(obj) // this is totally not true, but Flow can't tell
根据 How to describe Immutable.js Map shape with Flow, map 形状似乎无法使用类似对象的符号来描述(或者此信息是否已过时?)。
我真的很困惑如何让 Flow 理解 Immutable.js,尤其是 map 。据我所知,当数据存在于 Immutable.js 结构而不是普通的 JS 基元中时,Flow 失去了很多关于代码库的智能。
最佳答案
编辑 2018-05-14:immutable-js 尚未发布的 4.0 版完全支持此功能。当您创建一个 Record 时,它会根据传递给它的对象推断其类型,或者您可以手动将工厂类型键入为 Record<TProps>
。 .截至目前最新版本为 4.0.0-rc.9,但该项目已 comatose大约六个月,因此您可能只想阅读已知的错误(以避免它们,或者在自定义构建中修复它们)并使用 RC。
理论上,您必须使用 Record() 来编码预期的形状,然后添加类型检查...
遗憾的是,由于 certain 的缘故,静态键入此 immutable-js 结构的实际成员 是不可能的。 features缺乏流量。
目前有一对拉取请求(first,second)打开以向类型检查器添加必要的功能,但它们相当复杂,审查和集成它们的过程似乎在内部进行 Facebook 。
我怀疑一旦这些被合并,编码新热点的流类型定义几乎会立即出现,即使 immutable-js 项目没有那么快地集成它们。
注意:如果你想提供反馈,请不要留下“+1”或“when is it done comments”;那些不是该存储库接受的样式。请改用 react /投票功能。
关于javascript - 流: Typechecking a complex Immutable shape using fromJS()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42410736/
您好,我很确定我的问题很愚蠢,但我无法弄清楚它对我的生活有何影响。我有这个家庭作业,它基本上是为了加强我们在类里面学到的关于多态性的知识(顺便说一下,这是 C++)。该程序的基础是一个名为 shape
我是新手,所以需要任何帮助,当我要求一个例子时,我的教授给我了这段代码,我希望有一个工作模型...... from numpy import loadtxt import numpy as np fr
CSS 形状边距 和 外型不适用于我的系统。我正在使用最新版本的 Chrome。我唯一能想到的是我的操作系统是 Windows 7。这应该是一个问题吗? 这是JSFiddle .但是,由于在您的系统上
#tf.shape(tensor)和tensor.shape()的区别 ?
我要求提示以下问题。如何从事件表添加到指定的单元格形状?当我知道名称但不知道如何为...中的每个形状实现论坛时,我可以添加形状 目前我有这样的事情: Sub loop() Dim a As Integ
我在 Excel 中有一个流程设计(使用形状、连接器等)。 我需要的是有一个矩阵,每个形状都有所有的前辈和所有的后继者。 在 VBA 中,为此我正在尝试执行以下操作: - 我列出了所有的连接器(Sha
我正在使用 JavaFX 编写一个教育应用程序,用户可以在其中绘制和操作贝塞尔曲线 Line、QuadCurve 和 CubicCurve。这些曲线应该能够用鼠标拖动。我有两种选择: 1- 使用类 L
我正在尝试绘制 pandas 系列中列的直方图 ('df_plot')。因为我希望 y 轴是百分比(而不是计数),所以我使用权重选项来实现这一点。正如您在下面的堆栈跟踪中发现的那样,权重数组和数据系列
我尝试在 opencv dnn 中实现一个 tensorflow 模型。这是我遇到的错误: OpenCV: Can't create layer "flatten_1/Shape" of type "
我目前正在用 Java 开发一款游戏,我一直在尝试弄清楚如何在 Canvas 上绘制一个形状(例如圆形),在不同的形状(例如正方形)之上,但是只绘制与正方形相交的圆的部分,类似于 Photoshop
import cv2 import numpy as np import sys import time import os cap = cv2.VideoCa
我已经成功创建了 Keras 序列模型并对其进行了一段时间的训练。现在我试图做出一些预测,但即使使用与训练阶段相同的数据,它也会失败。 我收到此错误:{ValueError}检查输入时出错:预期 em
我正在尝试逐行分解程序。 Y 是一个数据矩阵,但我找不到任何关于 .shape[0] 究竟做了什么的具体数据。 for i in range(Y.shape[0]): if Y[i] == -
我正在尝试运行代码,但它给了我这个错误: 行,列,_ = frame.shape AttributeError:“tuple”对象没有属性“shape” 我正在使用OpenCV和python 3.6,
我想在 JavaFx 中的 Pane 上显示形状。我正在使用从空间数据库中选择的 Oracle JGeometry 对象,它有一个方法 createShape() 但它返回 java.awt.Shap
在此代码中: import pandas as pd myj='{"columns":["tablename","alias_tablename","real_tablename","
我正在尝试将 API 结果应用于两列。 下面是我的虚拟数据框。不幸的是,这不是很容易重现,因为我使用的是带有 key 和密码的 API...这只是为了让您了解尺寸。 但我希望也许有人能发现一个明显的问
我的代码是: final String json = getObjectMapper().writeValueAsString(JsonView.with(graph) .onClas
a=np.arange(240).reshape(3,4,20) b=np.arange(12).reshape(3,4) c=np.zeros((3,4),dtype=int) x=np.arang
我正在尝试从张量中提取某些数据,但出现了奇怪的错误。在这里,我将尝试生成错误: a=np.random.randn(5, 10, 5, 5) a[:, [1, 6], np.triu_indices(
我是一名优秀的程序员,十分优秀!