问题标签 [elmish]

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 投票
4 回答
797 浏览

f# - 使用 Fable-Elmish 将 React.FormEvent 转换为 BodyInit

我正在尝试使用 Fable-Elmish 和 React Helpers 上传文件。但是,我不知道如何在选择文件时将表单事件转换为可以使用 Fetch 发送到服务器的内容。这是视图:

我的更新功能的相应部分:

以及使用 fetch 调用 api 的函数:

如何将 React.FormEvent 转换为 fetch 需要的 BodyInit?

0 投票
1 回答
191 浏览

f# - mkProgram 是否提供比 mkSimple 更多的功能?

我试图了解我实际使用的 Fable-Elmish 或 Elmish.WPF 中的 mkSimple 和 mkProgram 之间的区别。(有人可以为 elmish.wpf 制作一个标签吗?)

我发现 Elmish.WPF 非常有效,我在生产中使用它,但我正处于每天仍在学习很多东西的阶段。这个特殊的问题占用了我太多的研究时间,所以我希望能得到一些帮助。

源代码中的注释如下所示。

mk简单:Simple program that produces only new state with 'init' and 'update'.

mk程序:Typical program, new commands are produced by 'init' and 'update' along with the new state.

那么这些命令有什么用呢?我已经在几个地方查看了示例,但它们并没有提供太多线索,我是否可以使用 mkSimple 和使用 mkProgram 做同样的事情,这就是我需要知道的。

mkProgram 是否公开了一些 mkSimple 没有的功能,或者我使用的任何一个都可以完成?mkSimple 是否仅用于简单的演示使用,我是否应该将 mkProgram 用于增长的实际应用程序?如果您可以同时使用两者,那么为什么会有区别?

0 投票
1 回答
595 浏览

android - 如何设置 fable-elmish-react 本机应用程序?

我可以按照https://github.com/fable-elmish/react设置 Elmish-React

但我无法弄清楚我需要做什么才能获得等效的本机应用程序。我希望能够从https://fable-elmish.github.io/react/native.html获得简单的反例。

我试过用

这很棒,但它给了我一个 Javascript 项目,我不明白如何插入或调整它以使用 Fable 制作一个 F# 项目。

0 投票
1 回答
599 浏览

f# - 在 Fable React 有状态组件上的 Elmish 调度

我需要使用带有 elmish 调度的 Fable-React 有状态组件。我不知道如何创建它。

我正在使用这个项目模板:https ://github.com/fable-elmish/templates

这是模型:

这是组件:

如何使用 ofType 函数创建它,然后我可以像这样使用它:

0 投票
1 回答
407 浏览

webpack - 如何使用 Fable-Elmish 添加 img 标签

我想像这样添加一个图像标签

但是当我查看生成的网站时,图像不会加载。

我正在使用 dotnet 核心项目模板fable-elmish-react

虽然我找到了这个 Fable.Helpers.React.img 助手,但图像并没有出现在我的 /public 文件夹中,我理解它是 webpack 输出文件夹。

我已按照此处的说明尝试让 webpack 将图像从我创建的 /assets 文件夹移动到 /public 文件夹中,但是这些说明指示我添加了一条require要求加载图像的语句,但是我找不到任何使用 Fable 执行此操作的示例。

0 投票
1 回答
1103 浏览

f# - 寓言 Elmish 中的异步命令

我有这段代码,我正在使用 Fable Elmish 和 Fable remoting 连接到 Suave 服务器。我知道服务器由于邮递员而工作,并且此代码的​​变体确实调用了服务器

let 结果中的callServer行以 失败Object(...) is not a function,但我不明白为什么。任何帮助,将不胜感激。

0 投票
2 回答
1178 浏览

f# - 在 fable-elmish 中,如何在视图渲染后触发命令?

我创建了一个应用程序,它下载一些数据并使用谷歌图表将其绘制到div一个特定的Id.

这在静态页面上运行良好。但是,当使用菜单在多个视图之间切换时,我在切换回适当的视图时很难重新绘制图表。

如果我在模型更新时使用命令重绘图表,则请求将失败,因为div尚未呈现特定内容。

有没有办法在View阶段Model-View-Update完成时触发命令?还是重新绘制图表的更好方法?

示例代码如下(不可运行,但应该很容易理解)。单击“获取数据”按钮可以正常工作,但是如果您随后切换到另一个页面并返回,我找不到再次绘制图表的方法。

HTML 只是:

0 投票
2 回答
211 浏览

ffi - 如何使用 Elmish 和 Fable 将参数从 html 页面传递到编译的 js 应用程序

在 elm 中,您可以将标志传递给 elm 应用程序,如下所示:

网页/JS

然后 elm 应用程序在 init 上获取参数:

我已经阅读了寓言文档,对我来说尚不清楚如何实现同样的目标。

我看到有一个选项 Program.runWith 可以在 init 函数上发送参数,但我找不到文档,也无法从编译的 javascript 中看到我应该如何从 html 文件调用主函数。

对于寓言,我希望能够在 html 文件中执行类似的操作,但不确定“Program.Run ..”是什么:

谢谢

0 投票
1 回答
449 浏览

f# - Fable-Elmish 中的渲染组件

dotnet new SAFE我已经使用导致两个服务器和客户端项目(以及共享文件夹)的命令设置了一个标准的 SAFE 应用程序。

Client 项目有带有视图函数和引导代码的Client.fs文件,就像模板生成它一样:

我现在添加了一个简单的组件:

但我无法弄清楚如何在view函数中正确实例化这个组件。我真的认为这应该有效:

但这导致浏览器中的 - 现在 - 可怕:

错误:对象作为 React 子对象无效(找到:带有键 {props、context、refs、updater、state} 的对象)。如果您打算渲染一组子项,请改用数组。我真的不明白,因为类型是 ReactElement 应该没问题...

手动实例化组件并调用render()确实有些工作,但当然componentDidMount()不会被调用:

那么:如何让 MyComponent 正确实例化并“注入”到 React 中?

0 投票
1 回答
273 浏览

f# - 父子组合视图中的调度方法

我试图了解寓言应该如何与父子组合一起使用。update当涉及到方法、init和命令的定义时,事情就很简单了。但是view方法和它的dispatch方法很难找出

在我的代码中,孩子是:

在这个关于父子处理的文档之后,我定义了一个像这样的父:

到目前为止一切顺利,当涉及到视图本身的渲染时,我的问题就出现了。客户端视图使用如下函数:

where Msgis of typeDeploymentView.Msg 而在父视图中我可以访问 type 的调度Client.Msg -> unit。如何分解父调度以将其映射到子调度签名?