问题标签 [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.

0 投票
3 回答
385 浏览

reactjs - 如何将 SVG 与 React 和 ReasonML 一起使用?

使用create-react-appJavaScript/TypeScript,我知道我能够“导入”一个 SVG,如下所述。我如何使用 ReasonML 做到这一点?

0 投票
2 回答
177 浏览

reason - 如何在 Reason 中将 matchAll 字符串化?

我正在尝试复制我在 javascript 中所做的事情matchAll()

我看到原因有Js.String.match,但我找不到 matchAll。我想这是因为 matchAll 是一个较新的 ecmascript。

任何关于哪个是进行高性能 matchAll 的好方法的提示?还是我缺少特定的原因功能?

0 投票
1 回答
117 浏览

python - 如何从后端向用户本地主机上的另一台服务器发出请求

我有一个标准的客户端-服务器设置,前端带有 ReScript (ReasonML),后端有一个 Python 服务器。

用户正在 localhost:2000 上运行一个单独的进程,我从浏览器 (UI) 连接到该进程。我可以向他们的服务器发送请求并接收响应。

现在我需要从我的后端服务器发出这些请求,但不能直接这样做。我假设我需要某种方式通过浏览器来完成它,它可以与用户计算机上的 localhost 对话。

  1. 有哪些概念性的方法来实现这一点(最好使用 GraphQL)?我需要订阅或网络套接字或其他东西吗?

  2. 您是否可以为此推荐任何特定的库(也许作为其他编程语言的示例)?

0 投票
1 回答
98 浏览

functional-programming - 如何摆脱 Record 构造的非大写键值?

我正在使用 graphql、nexus-plugin-prisma、prisma 来使用ReScript构建后端应用程序。我面临的问题是有些列以大写字母开头,我想使用records而不是objects为此类模式设置类型。(利用模式匹配实用程序)

但是 ReScript 会阻止大写字母作为记录键的第一个字符出现。有什么办法可以让我以某种方式摆脱这个问题?任何帮助,将不胜感激。

0 投票
1 回答
85 浏览

bucklescript - 在 ReasonReact 项目中禁用每个文件的 react-jsx

有没有办法在 ReasonReact 项目的某些文件中禁用 react-jsx 转换?

我认为可以通过不添加和添加到要进行 react-jsx 转换的文件的顶部"reason": { "react-jsx": 3 }来实现另一种方式,但这将迫使我在太多文件中添加此注释。bsconfig.json@@bs.config({jsx: 3})

我想在几个文件中构建一个基于 JSX 的小型 DSL,同时在我的项目的其余部分中受益于 React。

0 投票
1 回答
378 浏览

arrays - 如何在 ReScript 中一般遍历数组?

假设我想以Js/Belt标准库函数不支持的方式迭代数组。例如,也许我需要一次检查成对的元素。使用列表,这很容易以递归方式完成:

但是,ReScript 似乎不鼓励使用列表来支持数组(请参阅:笨拙的列表语法和某些标准库函数的列表等价物的缺失Belt.Map.fromArray),所以我不确定是否将数组转换为列表只是为了使用它风格是惯用的 - 特别是如果函数产生一个列表,然后必须转回一个数组。

当然,我可以使用可变性以传统的命令式方式实现该功能:

但这很丑陋,并且与 ReScript 的功能框架背道而驰。

什么是实现此功能的干净、惯用的方法?

0 投票
2 回答
720 浏览

record - 在 Reasonml 中迭代记录键和值的最佳实践是什么?

我是 ReasonML 的新手,但我阅读了大部分官方文档。我可以为此经历偶然的试验和错误,但由于我现在需要在 ReasonML 中编写代码,我想知道迭代原因记录类型的键和值的最佳实践。

0 投票
2 回答
207 浏览

typescript - ReasonML 的选项类型的打字稿等价物是什么?

在 ReasonML 中option,类型是一个变体,可以是Some('a)None.

我将如何在打字稿中建模相同的东西?

0 投票
1 回答
166 浏览

reactjs - 我可以从 CDN 制作 Reason+React 导入反应模块吗?

使用 Reason 和 React 构建组件总是会给我一个“react”的模块导入语句,如果 React 包含在 CDN 中,则无法找到该语句。有解决方案吗?我试图window.react = React在 index.html 中定义但没有成功。es6-global设置不会改变任何东西。

我没有使用像 webpack 这样的捆绑程序。

编辑:来自原因论坛的可能相关线程:https ://reasonml.chat/t/can-one-load-reasonml-es6-modules-without-a-bundler/2219

类似问题(未解决):可以在没有捆绑器的情况下加载 reasonml es6 模块

importmap(尚未在浏览器中实现)可能是另一种解决方案:Using ES6 Modules without a Transpiler/Bundler step

0 投票
1 回答
222 浏览

interop - 如何在类型参数中使用展开的多态变体 [联合类型]?

目标:绑定到Service Worker 缓存

我正在编写一个绑定,让我在 ReScript 中编写 Service Worker。字符串 URL 和Request有时可以互换使用。

在可能的情况下,我会避免 JS 输出中的噪音。

我对[@bs.unwrap]的了解

我知道我可以像这样使用add方法编写绑定[@bs.unwrap]

这是一个简单的用法。

array问题:与请求和/或字符串绑定

然而, addAll方法具有更复杂的类型签名。它需要一个对象数组,可以是数组或请求,也可以是字符串数组或同时具有这两种类型的项目的数组。

但据我所知,您不能在类型参数中拆箱类型,例如

问题:这种绑定可以在 ReScript 中建模吗?

当然,放弃字符串大小写并使用 Requests 或编写两个单独的绑定并假设我不需要同时具有两者的数组是合理的。

但现在我只是好奇:有没有办法在 ReScript 的绑定中对这种类型的类型进行建模?