如何解决在React.js中使用自定义Web组件的最佳方法
我正在使用reactjs制作一个Web应用程序,该应用程序的仪表可以显示压力传感器的读数。对于仪表板Web组件,我正在使用canvas-gauges。
canvas-gauges有一个reactjs wrapper,但它仍在使用
$div = $( 'div.drop-down-list' ); // Get all of the drop-down-lists
cosnt $filtered = $div.filter((ix,el)=> el !== clickedDropDownList )
$filtered.hide();
// assumed that clickedDropDownList is a native element not a jQuery object.
// later on if you want to do something with all the items use the `$div`
// if you want the prevIoUsly filtered items use `$filtered`
,componentwillReceiveProps
,并且我想使用钩子,所以我尝试编写自己的自定义组件。
我正在将useRef与canvas组件一起使用以渲染我的gauge组件。为了更新量规值,我只是在该组件上传递了一个道具。
componentDidMount
此代码在使用google chrome或safari的计算机上正常工作,但是当我在手机中使用google chrome时,在对仪表值进行几次更新后,它崩溃了,并出现以下错误:
import React,{ useRef,useEffect } from "react";
import { RadialGauge } from "canvas-gauges";
const PressureGauge = (props) => {
const value = props.value;
const canvasRef = useRef(null);
const draw = (canvas,value) => {
new RadialGauge({
renderTo: canvas,value: value,width: 300,height: 300,title: "Pressure",units: "bar",minValue: 100,maxValue: 400,}).draw();
};
useEffect(() => {
const canvas = canvasRef.current;
const render = () => draw(canvas,value);
render();
},[value]);
return <canvas ref={canvasRef} />;
};
export default PressureGauge;
我对此还不是很了解,但是我认为该组件多次放弃,导致手机无法处理。
我的问题:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。