jquery 将VirtualSky库嵌入React组件

chhkpiq4  于 2023-10-17  发布在  jQuery
关注(0)|答案(2)|浏览(100)

我想创建将嵌入Virtualsky的react组件库
我已经走过了react doc,大部分的stackoverflow主题,尝试使用react-helmet库,我不能写任何看起来可以工作的东西。
谁能给给予我一些好的例子或建议,将引导我。谢谢。
编辑:

import $ from 'jquery';
import 'https://slowe.github.io/VirtualSky/stuquery.min.js'
import 'https://slowe.github.io/VirtualSky/virtualsky.min.js'
import React, { useEffect } from "react";

const VirtualSky = props => {
  const id = "test";
  const width = "500px";
  const height = "500px";

  useEffect(() => {
    const planetarium = $.virtualsky({ id });
  }, []);

  return (
    <div id={id} style={{ width, height }} />
  );
};

export default VirtualSky;

无论我做什么,总是得到“virtualsky”不是一个功能。

falq053o

falq053o1#

只需调用useEffect钩子中的jQuery插件。
大概是这样的:

const VisualSky = ({  id, width, height }) => {
  React.useEffect(() => {
    const planetarium = $.virtualsky({ id });
  }, []);
  return (
    <div id={id} style={{ width, height }} />
  );
};

const App = () => (
  <VisualSky id="startmap" width={500} heigh={500} />
);
gywdnpxw

gywdnpxw2#

我知道这个问题已经有几年的历史了,但我本周(2023年9月)遇到了一个非常类似的问题,我相信这是由同样的问题引起的。

原因:

当前的repo代码被重构为使用您正确包含的stuQuery库。不幸的是,Virtualsky示例似乎没有更新以反映这一点,仍然使用jQuery。

解决方案:

将'$'替换为'S',这是stuQuery用来避免与jQuery冲突的方法。

const planetarium = S.virtualsky({ id });

相关问题