Я создал прямоугольник SVG по коду, который я пытаюсь сделать в React. Я пробовал разные вещи, в том числе опасноSetInnerHTML, без успеха.Как визуализировать сгенерированный кодом SVG в Reactjs?
В приведенном ниже примере «return t» работает, «return svgRectElement» не работает.
Как я могу вернуть svg, сгенерированный svgRectElement? Благодаря!
public render() {
let svgRectElement: SVGRectElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
svgRectElement.setAttributeNS(null, 'width', "300");
svgRectElement.setAttributeNS(null, 'height', "300");
svgRectElement.setAttributeNS(null, 'id', "myrect");
var t: JSX.Element = <rect width="300" height="100" id="myrect"></rect>;
return t;
}
Не создавайте узлы DOM в вашей функции рендеринга. Это не так, как реагирует. Если вам нужно обойти React, создайте его в функции componentDidMount и прикрепите его к чему-то, возвращаемому вашей функцией рендеринга. Дальнейшее чтение https://github.com/ryanflorence/react-training/blob/gh-pages/lessons/05-wrapping-dom-libs.md –
Спасибо Энди. Как я сказал Scarysize ниже, я хочу создать svg с помощью SnapSvg с динамическими атрибутами (x, y и т. Д.), А затем визуализировать с помощью React. Думаю, вы и он предложили такое же техническое решение. –