问题标签 [diode]
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.
authentication - 在 scalajs 的 Diode 库中,Action、AsyncAction 和 PotAction 有什么区别,哪个适合身份验证?
在scala
andscalajs
库Diode
中,我使用过但不完全理解PotAction
该类,并且最近才发现AsyncAction
该类,这两种方法似乎都在涉及异步请求的情况下受到青睐。虽然我理解这一点,但我并不完全理解设计决策和命名选择,这似乎暗示了一个更狭窄的用例。
具体来说,两者都AsyncAction
需要PotAction
一个initialModel
和一个next
,就好像两者都是对某种可刷新、可更新内容的异步请求进行建模,而不是 CQRS 意义上的命令。顺便说一下,关于表单输入的同步操作,我有一个有点相关的问题。
我想到了一些特定的用例。我想知道一个草图(不要求实施,只是概念),说明您如何将某些东西PotAction
与以下任何一种结合使用:
- 常规流程中的用户名/密码认证
- 涉及第三方的 OpenAuth 样式身份验证和重定向
- 后台令牌或 cookie 身份验证
- 表单输入的服务器端验证
- 为远程 shell 提交命令
所有这些在本质上似乎与我所看到的有所不同,PotAction
但我真的很想使用它,因为当我根据Pot
.
scala - scalajs 二极管无法在状态更改时重新渲染 React 组件?
编辑:我是一个使用过时版本的二极管的傻瓜。升级到 1.0 版本解决了这个问题。
我设置了一个 Scalajs/Diode/React 系统,在一个部分中,我遇到了一些让我难过的(缺乏)行为。我的印象是,当您通过如下线将 React 组件连接到 Diode 状态时:
val ChangeClassButton = SelectCircuit.connect(_.selection)(p => DiodeChangeClassButton(p))
selection
每当在二极管电路中更新时,ChangeClassButton 都应该重新渲染。
我已经验证了 Diode 事件调度和状态更新似乎按预期工作,但是当更改时,connect
编入的 React 组件selection
不会重新渲染。selection
附加到电路状态其他部分的其他组件在相关状态更改时按预期重新渲染。
这是应该重新渲染的 React 组件:
这是调度发生变化的二极管动作的组件selection
:
这是 SelectCircuit 中的动作处理程序:
连接到 _.selection 以updated()
在此处调用时重新渲染的预期 React 组件我错了吗?我对 Diode 和 React 还很陌生,所以我可能会误解在什么情况下会发生这种情况。
谢谢你的帮助。
scala.js - 更新单个子组件
我正在使用带有 scalajs-react 0.11.1 的二极管 1.0.0。
用例:
- 带有子组件列表的父组件
- 子模型片段包含
Pot
用于异步获取的图像 - 子组件在挂载时获取图像并
Pot
更新Empty
其模型片段
使用幼稚的方法,这会导致以下情况(事件的顺序可能不同):
- 父级被渲染。
- 孩子 1 被渲染。
- Child 1 发送它的
GetImageAction
. 模型片段Pot
更新为Pending
. - 模型已更新,导致父级重新渲染。
- 所有的孩子都被重新渲染。
- 孩子 2 ... n 仍然有一个
Empty
Pot
,所以他们GetImageAction
再次触发他们的 s。
- Child 1 发送它的
- 现在孩子 2 被渲染。
- 模型已更新,导致父级重新渲染。
- 等等。
这会导致GetImageAction
调用和重新渲染的巨大树。
一些问题:
- 将模型用于此目的是错误的吗?使用组件状态会更好吗?
- 当只需要更新孩子时,如何避免重新渲染父母?我无法弄清楚我是否/如何可以
shouldComponentUpdate
用于此目的。
更新 1
我现在为每个子组件添加一个 React 键。这摆脱了关于唯一键的 React 警告,但不幸的是并没有解决上述问题。即使他们的shouldComponentUpdate
方法返回,孩子也会被重新渲染false
。
来自ParentComponent.render()
:
更新 2
我尝试在父组件中实现侦听器功能,但不幸的是,子组件仍然被卸载并重新安装。这是我的父组件的代码:
diode - 齐纳二极管 - 什么构成“相似”?
一般来说,我对 ECE 的经验很少,我正在研究将 Arduino 用于一些小型爱好类型的项目。
我正在关注在线指南,写信的人说我需要:“2 - 1N5227 或类似的 3.6V 偏置齐纳二极管”
我已经阅读了一些关于齐纳二极管的内容,现在了解它们的作用以及它们的目的是什么。不过,在这种情况下,我无法说出他所说的相似是什么意思。我购买了包含 4 种齐纳二极管的二极管套件。它们都有不同的零件编号和电压。
我拥有的4个是:1N751 5.1V 1N4733 5.1V 1N4735 6.2V 1N4742 12V
这些中的任何一个都可以在这种情况下使用,还是我应该订购他所说的特定型号?
被引用的指南是这样的,如果有帮助的话:http: //www.instructables.com/id/RC-Transmitter-to-USB-Gamepad-Using-Arduino/
我非常感谢您在这方面的时间和帮助,这是一个有趣的学习领域!
timer - smt32 中断。为什么我的二极管不闪烁?
我有 smt32l1xx 板,下面的代码不起作用。调试器显示 pinA5 已设置,但连接到此引脚的二极管仍然不亮。我不知道为什么。即使我在设置位后添加延迟它也不起作用。二极管连接到板上的 PA5 和 GND。
scala - Handling of Future.failure in a Diode effect
In Diode, how do one handle a Future.failure in an effect? The doc (https://ochrons.github.io/diode/usage/Effects.html), it is clear how a success value from the Ajax call is used to update the model with a Pot.Ready, but I wonder how one can catch a failure and update a Pot.Failed instead.
scala - 渲染带有二极管错误的 React (scalajs-react) 组件
我将使用 Diode 来管理具有单向数据流的应用程序状态。我使用 Playframework 2.4 和 Scala.js,这是build.sbt
客户端子项目的一部分:
我能够从 scalajs-react 运行基本示例,并决定使用二极管支持扩展Timer 示例。我写了一个Curcuit
对象:
教程和示例没有向我们展示如何使用 渲染 React 组件ReactDOM.render(...)
,而只是使用 package japgolly.scalajs.react.extra.router
。
但是,这次我不想使用路由器,只想将我的组件呈现为 HTML 根标记,如下所示:
但这部分
不起作用。项目无法编译并显示"RuntimeException: There were linking errors"
如何解决问题?
更新
这是链接错误和堆栈跟踪的确切消息:
java - 如何使用 Java 点亮 Arduino Mega 二极管?
我想用Java编写一个GUI,其中会有一个按钮。按下按钮将点亮连接到 Arduino 的二极管。我正在使用 RXTXcomm.jar 库。
现在,我编写了显示 COM21 端口的代码,因为这就是我的 Arduino 连接并打开它的方式。这是代码:
我想问一下现在如何点燃连接到例如 pin1 的二极管?使用什么方法?我使用 Arduino Mega。我发现了一些关于这个主题的帖子,不幸的是没有与我的问题相匹配的具体答案。我将不胜感激任何帮助、材料或链接。
scala - 二极管。在电路中发送超过 1 个动作
同事们,我不能让diode
自己从另一个动作中发送一个以上的动作。这里的例子来自App circuit
:
如何链接我的行动?像这样的>>
东西callbacks
:
someCallback >> someOtherCallback
c - Mad_Flute 在 65535 块后停止接收
我正在玩一个名为 mad_flute 的长笛协议应用程序。 http://mad.cs.tut.fi/
一切正常,除非我尝试发送大于 30GB 的文件。(或超过 65536 个)块。该应用程序有 1 个发送部分和 1 个接收部分。发送侧接缝正在工作,您可以看到它发送所有块“88462/88462 Source Blocks sent (TOI=1 SBN=88461)”接收方始终停止在“65536/88462 Source Blocks decoded (TOI=1 SBN=65535) )"
我确实在源代码中找到了一个 INT16 变量,但调整它并没有解决问题。
接下来,我找到了一个合乎逻辑的“Delta2 = 65535 - Delat1;” mad_rlc.c 中的一部分并提高了该值,但仍接收器停止在“65536/88462 源块解码(TOI=1 SBN=65535)”
源代码可以在这里下载:http: //mad.cs.tut.fi/download/mad_fcl_v1.7_src.zip
来自 C 国王/王后的任何指示都会令人惊叹。
}