Scala.js + React:"sbt run" 显示 "Target container is not a DOM element"

Scala.js + React: "sbt run" shows "Target container is not a DOM element"

我正在使用 scala.js 和 japgolly 反应库。

我已经看到很多关于相同问题的线程,这些问题是由于脚本不在正文部分的末尾或拼写错误的元素 ID 名称而引起的。但是我的 HTML 没问题, 渲染得非常完美。有效。

但我也想使用:sbt 运行 ... 进行测试。基于 scala.js 基本 tutorial 的最佳实践(第 6 步)。不幸的是,与真实页面不同,sbt 运行 returns:

[error]     throw error;
[error]     ^
[error] Invariant Violation: _registerComponent(...): Target container is not a DOM element.

引用的是一个简单的 ReactDOM:

ReactDOM.render(<.div("foo"), document.getElementById("fooid"))

不确定我是否需要,但我的 jsDependencies 中有 RuntimeDOM。而且我还通过 npm 安装了 jsdom。希望这不是问题。

知道我需要做什么才能使 sbt 运行 也能正常工作吗? 谢谢

React 抛出错误,因为在您的测试环境中没有 ID 为 fooid 的元素。

val fooDiv = dom.document.createElement("div")

fooDiv.id = "fooid"

dom.document.body.appendChild(fooDiv)