gpt4 book ai didi

reactjs - React-pixi 和 Reagent 导致不变违规

转载 作者:行者123 更新时间:2023-12-01 22:50:27 27 4
gpt4 key购买 nike

我正在尝试使用 Reagent 和 React-Pixi 在 Clojurescript 中构建游戏,但只要我尝试做任何事情,我就会得到:

Error: Invariant Violation: PIXIStage.render() A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.

重现这个的最小情况是:

(ns react-sprites.core
(:require [cljsjs.react-pixi]
[reagent.core :as r]))

(def stage (r/adapt-react-class js/ReactPIXI.Stage))
(defn root [] [stage {:width 300 :height 300}])

(r/render-component [root]
(. js/document (getElementById "app")))

具体来说,使用 react-pixireagent 版本:

[reagent "0.6.0-rc"]
[cljsjs/react-pixi "0.8.1-0"]

附加信息

我已经在调试器中四处追踪,并且在 React.createElement("canvas") 生成的 canvas 上抛出不变违规在 ReactPIXI's render() method ,显然正在创建的 Canvas 不是有效的 ReactComponent。我真的不知道从这里到哪里去。

最佳答案

原来这里的问题归结为版本不兼容。我以为我在 Reagent 0.6 上运行并使用最新的 React,但应用程序似乎没有得到正确更新并且仍在使用 0.5.1,它使用与 react-pixi 不兼容的 React 版本。为了修复它,我不得不强制更新,此时它开始工作。在重现此问题时,我还遇到了浏览器缓存问题。

总而言之,值得尝试的事情包括:

$ lein clean
# edit the dependency information
$ lein figwheel
  • 清除缓存
  • 降级然后升级版本(也许?)

作为旁注,我被调试时发现的其他错误消息组合误入歧途,其中一些警告页面上运行多个 React 版本的可能性。因为我没有得到其中之一,所以我过早地排除了这种可能性。

关于reactjs - React-pixi 和 Reagent 导致不变违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38810624/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com