
Security News
Django Joins curl in Pushing Back on AI Slop Security Reports
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
jk-react-p5
Advanced tools
This Component lets you integrate p5 Sketches into your React App (fixed types)
npm
npm i --save react-p5
yarn
yarn add react-p5
import React from "react";
import Sketch from "react-p5";
export default (props) => {
let x = 50;
const y = 50;
const setup = (p5, canvasParentRef) => {
// use parent to render the canvas in this ref
// (without that p5 will render the canvas outside of your component)
p5.createCanvas(500, 500).parent(canvasParentRef);
};
const draw = (p5) => {
p5.background(0);
p5.ellipse(x, y, 70, 70);
// NOTE: Do not use setState in the draw function or in functions that are executed
// in the draw function...
// please use normal variables or class properties for these purposes
x++;
};
return <Sketch setup={setup} draw={draw} />;
};
import React from "react";
import Sketch from "react-p5";
import p5Types from "p5"; //Import this for typechecking and intellisense
interface ComponentProps {
//Your component props
}
const YourComponent: React.FC<ComponentProps> = (props: ComponentProps) => {
let x = 50;
const y = 50;
//See annotations in JS for more information
const setup = (p5: p5Types, canvasParentRef: Element) => {
p5.createCanvas(500, 500).parent(canvasParentRef);
};
const draw = (p5: p5Types) => {
p5.background(0);
p5.ellipse(x, y, 70, 70);
x++;
};
return <Sketch setup={setup} draw={draw} />;
};
Prop | Required | Type | Description |
---|---|---|---|
className | :x: | String | ClassName for canvas parent ref |
style | :x: | Object | Styles for canvas parent ref |
setup | :heavy_check_mark: | Function | The setup() function is called once when the program starts. |
draw | :x: | Function | Called directly after setup(), the draw() function continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called. |
windowResized | :x: | Function | The windowResized() function is called once every time the browser window is resized. |
preload | :x: | Function | Called directly before setup(), the preload() function is used to handle asynchronous loading of external files in a blocking way. |
mouseClicked | :x: | Function | The mouseClicked() function is called once after a mouse button has been pressed and then released. |
mouseMoved | :x: | Function | The mouseMoved() function is called every time the mouse moves and a mouse button is not pressed. |
doubleClicked | :x: | Function | The doubleClicked() function is executed every time a event listener has detected a dblclick event which is a part of the DOM L3 specification. |
mousePressed | :x: | Function | The mousePressed() function is called once after every time a mouse button is pressed. |
mouseWheel | :x: | Function | The function mouseWheel() is executed every time a vertical mouse wheel event is detected either triggered by an actual mouse wheel or by a touchpad. |
mouseDragged | :x: | Function | The mouseDragged() function is called once every time the mouse moves and a mouse button is pressed. If no mouseDragged() function is defined, the touchMoved() function will be called instead if it is defined. |
mouseReleased | :x: | Function | The mouseReleased() function is called every time a mouse button is released. |
keyPressed | :x: | Function | The keyPressed() function is called once every time a key is pressed. The keyCode for the key that was pressed is stored in the keyCode variable. |
keyReleased | :x: | Function | The keyReleased() function is called once every time a key is released. See key and keyCode for more information. |
keyTyped | :x: | Function | The keyTyped() function is called once every time a key is pressed, but action keys such as Backspace, Delete, Ctrl, Shift, and Alt are ignored. |
touchStarted | :x: | Function | The touchStarted() function is called once after every time a touch is registered. |
touchMoved | :x: | Function | The touchMoved() function is called every time a touch move is registered. |
touchEnded | :x: | Function | The touchEnded() function is called every time a touch ends. If no touchEnded() function is defined, the mouseReleased() function will be called instead if it is defined. |
deviceMoved | :x: | Function | The deviceMoved() function is called when the device is moved by more than the threshold value along X, Y or Z axis. The default threshold is set to 0.5. The threshold value can be changed using setMoveThreshold() |
deviceTurned | :x: | Function | The deviceTurned() function is called when the device rotates by more than 90 degrees continuously. |
deviceShaken | :x: | Function | The deviceShaken() function is called when the device total acceleration changes of accelerationX and accelerationY values is more than the threshold value. The default threshold is set to 30. |
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
@Gherciu/react-p5 :copyright: GHERCIU, Released under the MIT License.
Authored and maintained by GHERCIU with help from contributors (list).
FAQs
This Component lets you integrate p5 Sketches into your React App (fixed types)
The npm package jk-react-p5 receives a total of 1 weekly downloads. As such, jk-react-p5 popularity was classified as not popular.
We found that jk-react-p5 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.