首页 > 解决方案 > 如何转换 p5.Something() 以适应反应

问题描述

在我的文件 sketch.js 中,在转换到组合 p5 和 react 之前,我有一个命令

amp = new p5.Amplitude();

转换为反应后,不再定义“p5”方法。

p.Amplitude()/song.Amplitude()没有做这项工作并返回

(TypeError: ... .Amplitude is not a constructor)

我真的不知道从哪里或如何导入 p5。我猜它与网络配置有关,但不确定是什么。

我已经 npm 安装了 p5 和 react-p5-wrapper,除了这一行和其他需要 amp 所有代码按预期运行的东西,我可以播放音乐/使用滑块调整背景等...

在我正在导入的文件的请求下:

import React from 'react';
import 'p5/lib/addons/p5.sound';
import 'p5/lib/addons/p5.dom';

我真的很高兴能得到一点帮助!

标签: reactjsp5.js

解决方案


您或许可以尝试:

import * as p5 from './{library-path}/p5.js';

看起来 P5 最初并不是为简单的 ES6 导入而设置的。

这个 2016 年的 GitHub 问题似乎发现了一个类似的问题。https://github.com/processing/p5.js/issues/1734

最近它看起来可以与 NPM 一起正确使用:

https://medium.com/front-end-weekly/learning-the-p5-canvas-drawing-library-in-es6-and-webpack-bf514a679544

另请在此处查看其他潜在答案。

如何在 p5.js 中使用 React


推荐阅读