reactjs 如何在konva中使用use-image来使用从React Component导入的svg?

bd1hkmkf  于 2023-01-04  发布在  React
关注(0)|答案(1)|浏览(315)

如何在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>
    )
}
avwztpqn

avwztpqn1#

我试着做完全相同的事情。(感谢有机会注册一个帐户堆栈溢出,哈哈)
我知道这不是一个直接的解决方案,你可能已经研究过下面的this
我从'react-konva-utils'导入并嵌入了这个官方文档中描述的,它工作了。

<Html>
  <XCircleIconGray />
</Html>

相关问题