问题标签 [reason]

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 投票
1 回答
286 浏览

ocaml - 进行和不必要的回调创建和分配(initialState ...)?

我不明白make工作方式:

据我了解,make每次<Greeting>在父组件渲染方法中使用组件时都会调用,所以会被调用多次。

但这也意味着组件记录会创建多次initialState功能对吗?

我不明白initialState每次创建 React 元素时分配 some 函数有什么意义,而它只会在元素被挂载时调用,并且不会影响更新。

initialState举个例子,但也可以对其他生命周期回调说同样的话。

0 投票
2 回答
476 浏览

django - graphql reason-apollo - 选项的递归解析

我正在使用Reason-Apollo从我的服务器解析一个非常嵌套的 GraphQL 响应。我无法解析从我的 GraphQL 服务器返回的毛茸茸的选项树(我正在使用 django-graphene)。

这是使用 Reason Apollo 的 GraphQL 查询和 Reason React 模块:

这是来自 GraphiQL 的 GraphQL 查询的返回数据:

我在某处有语法错误...

我的直接问题是:这里的错误是什么?

在更深层次上,解析所有这些选项以呈现所需的响应似乎通常会产生非常不清楚的代码。那么在使用 ReasonML / OCaml 时,围绕 JS 中解析选项的常见范式是什么?是否有一种惯用的方式来获得大部分时间都会出现的所有选项?我应该创建对象类型还是记录类型并解析成这些类型,然后从“已知”对象或记录结构中呈现?

或者也许我graphql_schema.json和端点需要更多必需的选项?

另外,我正在使用 Relay 的 GraphQL 约定,edges { node { ... node fields ... } }如果有任何边,那么应该至少有一个节点。使用中继式 GraphQL 时,有什么方法可以减少选项的冗长性?

0 投票
1 回答
42 浏览

ocaml - 如何使用另一个文件中定义的 JS 函数/变量?

目前我有一个文件src/index.re。我还有一个文件src/util.js,它定义了一些我想使用的辅助函数。如何在 中使用这些功能src/index.re

0 投票
2 回答
1734 浏览

ocaml - 模块依赖循环

我有:

模块 1

  • 提供 type Module1.type1,它的构造函数,以及一些接受和返回的函数type1

模块 2

  • open Module1
  • open Module3
  • 提供类型Module2.type2,也有接受type1type3作为参数的函数

模块 3

  • open Module1
  • open Module2
  • 提供 type Module3.type3,它的构造函数依赖于type1
  • 提供接受和返回类型的函数type1type2以及type3

问题

结果我显然得到dependency cycle: src/Module3.cmj -> src/Module2.cmj -> src/Module3.cmj了编译器的错误。在 TypeScript/JS 中通过单独导入可以轻松实现的东西,在 Reason 中是不可能的。如何解决这个问题?

我真的不想改变我的程序的架构,只是为了方便编译器/模块系统的缺点。

0 投票
1 回答
91 浏览

graphql - 在 bucklescript 中使用 promise 解析查询类型

我有这个查询我试图用 graphql_ppx 库的原因进行测试。代码要点

这是编辑器类型注释的截图: 在此处输入图像描述

使用@mhallin/graphql_ppx库,我设置了以下查询:

当我将查询发送到服务器时,我收到以下错误,它返回以下错误。

但是如果你 Js.log(query) 你会看到它正在构建,它适用于 https://swapi.apis.guru

如果你 Js.log(filmQuery) 你得到:

变量:空,解析:[功能:解析]}

如果您在 Altair 中运行相同的查询并检查在 devtools 网络选项卡中发送的查询,您会看到:

为编辑器提供了这种类型的错误:“-错误 [bucklescript] 这有类型:字符串但在某个地方想要:Js.t({.. 查询:字符串,变量:Js.Json.t }) 字符串”

如何解决此承诺/单位类型?谢谢你。

所以新的问题是:为什么 sendQuery() 函数不能识别filmQuery##parse密钥?

0 投票
1 回答
299 浏览

reason - 编译 reducerComponent 时出错“这是 ReasonReact reducerComponent 还是带有保留道具的组件?”

创建 reducerComponent 时出现错误:

代码

错误:

任何人都可以看到问题吗?

信息

我的 package.json:

系统:

0 投票
3 回答
14050 浏览

unicode - 如何在原因反应组件中添加版权符号?

我是新来的理性反应。我正在尝试将版权符号放在反应原因组件中。我试过了

但这并没有给我 © 符号。

0 投票
2 回答
4438 浏览

list - 在列表末尾追加一个元素

如何在 ReasonML 中的列表末尾附加一个元素(相当于Array.concatJavaScript)?

0 投票
1 回答
157 浏览

module - 是否可以不导出 BuckleScript 中的模块?

是否可以不导出某些不应由包消费者直接使用的内部模块?

0 投票
1 回答
69 浏览

node.js - ReasonReact.Router 实现和使用 Express 服务器提供静态文件

我已经使用ReasonReact 中提供的路由功能实现了路由。看起来像这样。它工作得很好,直到我让它由 node.js 快递服务器提供服务。它仍然会路由,但是当我刷新时,我会得到例如cannot GET /about. 似乎服务器正在尝试提供不存在的目录或文件。我试图将安装路径从更改"/""*",但无济于事。

任何人都知道如何在 Node.js Express 服务器提供的 ReasonReact 应用程序上进行路由工作?

这是我的服务器的样子: