如何在konva中使用从带有use-image的React Component导入的svg?
我尝试从组件导入svg,但它不工作的任何方式,它没有返回任何错误。从.svg文件导入相同的svg代码工作良好,但我想通过 prop 显示在svg中,所以我必须这样做。:)
Stamp.js
const Stamp = () => {
return (
<svg width="120" height="120" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="0" width="120" height="120" />
</svg>
);
};
export default Stamp;
Canvas.js
import useImage from 'use-image';
import Stamp from 'components/Stamp';
const Canvas = () => {
const PlaceStamp = () => {
const [image] = useImage(Stamp);
return <Image image={image} x={position.x} y={position.y} />;
};
return (
<Stage
width={width}
height={height}
ref={konvaRef}
onClick={() => {
handleClick();
IsDirty(true);
}}
onTap={() => {
handleClick();
IsDirty(true);
}}>
<Layer>
{dirty && <PlaceStamp />}
</Layer>
</Stage>
)
}
1条答案
按热度按时间avwztpqn1#
我试着做完全相同的事情。(感谢有机会注册一个帐户堆栈溢出,哈哈)
我知道这不是一个直接的解决方案,你可能已经研究过下面的this。
我从'react-konva-utils'导入并嵌入了这个官方文档中描述的,它工作了。