问题标签 [rescript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reason - 如何在 ReScript 中将 Js.Dict.t 转换为 Js.t?
有没有一种直接的方法来转换Js.Dict.t
像这样的
喜欢Js.t
这个:
reason - 如何在 ReScript 中将动态值设置为 Js.t 键?
有没有办法将动态值设置为Js.t
ReScript 中的键?
reactjs - 是否可以部分编译 Reason+React 应用程序?
在编译 Reason+React 应用程序时,我正在考虑让开发体验尽可能流畅,反馈循环尽可能短。如果我使用
在文件中,这是否意味着我必须在每次更改时将 React 与文件捆绑在一起?或者我可以预编译该文件的依赖项,并且只编译更改的文件而不在构建系统中触发任何其他进程?
json - 如何迭代/映射作为数组的 Js.Json.t?
我正在尝试解码具有该类型的 JSON 数组Js.Json.t
(array(Js.Json.t)
显然不是)。调用Js.log(jsonList)
显示它是一个数组,但我不确定如何映射数组中的元素以对其进行解码。
到目前为止,我有:
编译器需要一个非柯里化函数,我不知道如何提供。
编辑
我想我更接近了,但我正在This has type: array(unit) Somewhere wanted: unit
上线(下)value |> Array.map(Js.log)
reason - 重新编写大写组件
从Rescript Documentation中,建议可以使用 spread 来启用将预先存在的列表传递给组件。我很困惑 Rescript 中到底MyComponent
是什么,因为我找不到初始化组件的方法,这可以通过 vanilla React 中的函数来完成。
在哪里myChild = list{child1,child2}
多次尝试后,以下方法不起作用:
@JSX div(~children=myChild)
,因为 Rescript 要求将其包装在一个列表中,如list{myChild}
@JSX div(~children=list{myChild})
,这给出了一个类型错误- 初始化一个名为 MyComponent 的模块,然后执行
<MyComponent> ...myChild </MyComponent>
,但这给出了错误The value make can't be found in MyComponent
- 使用大写转义初始化函数:
let \"MyComponent" = () => ...
,但这会产生错误The module or file MyComponent can't be found.
我想要的是一个组件初始化的例子,MyComponent
它可以用作一个大写的标签,比如<MyComponent>...myChild</MyComponent>
. 先感谢您。
reason - 比较 Rescript 中的字符串
浏览Rescript 的 API后,似乎没有比较两个返回布尔值的字符串的函数。最好的选择是localeCompare
,但它的行为与 JS 的==
. 为什么localeCompare
返回浮点数而不是整数?
reason - 你如何在 ReScript/ReasonML 中调用带有单位的 uncurried 函数?
假设我有一个 uncurried 函数,例如:
我可以用大多数文字来调用这个函数,比如:
但是当我试图用 void 调用它时,我得到一个错误:
作为一种解决方法,我可以这样做:
有没有办法避免这种情况?
ocaml - ReScript 中的无限列表/流
我似乎无法在 ReScript 中找到无限列表的正确类型。
我第一次尝试:
这是不正确的,因为 ReScript 认为该类型是循环的。所以我尝试了:
这仍然给了我一个类型错误。
最终我试图让这段代码工作,但由于类型签名是无限的,它失败了。
javascript - 如何在没有突变的情况下按功能创建有效的组?
有没有一种方法可以有效地实现按功能分组而不发生突变?
天真的实现:
- 重新编写游乐场
- JavaScript(见下文)
为了争论,没有必要使它更通用。我面临的问题是我循环了三次:
- 一次
Array.prototype.reduce
需要循环messages
- 一次
Array.prototype.some
查看日期键是否已存在于结果数组中 - 在日期键已经存在的情况下,我们再次循环
Array.prototype.map
以更新数组的特定元素 - 否则,返回一个包含新元素的新数组
如果在 ReScript 中没有真正提高效率的好方法,那么我总是可以为这个函数使用原始 JavaScript,但我很好奇是否有可能在没有突变的情况下有效地做到这一点。