Cycle.js DOM 驱动程序是否与 JSX 一起用于转换?

Does Cycle.js DOM driver works with JSX for transforms?

我在一段循环代码的 DOM 源代码之上有一个非常简单的转换:

const tt_dom$ = tt_slider.DOM
   .map(vn => {vn.sel += '.tt';console.log(9870, vn); return vn})

现在,如果组件(即 tt_slider)指定没有 JSX 的 HTML 代码,比如

div('.myclass', [])

然后我从我的转换中得到了想要的输出:

<div class="myclass tt">

但是如果我使用 JSX 指定它:

 <div className="myclass">

我刚刚得到

<div class="myclass">

我做错了什么吗?这是标准行为吗?或者可能是 Cycles 某处的错误?

谢谢

Snabbdom 中的 className 道具会覆盖所有其他 css 类(在您的情况下是 sel)。您的超标代码起作用的原因是您不使用 props 而是使用 sel

如果将其更改为 div({ props: { className: 'myClass' }}, []),您将看到同样的问题。 我已经为 snabbdom 打开了一个错误报告,但它似乎是预期的行为。

您可以通过使用 className 属性进行转换来解决您的问题。