React에서 렌더링하려고하는 코드로 SVG 사각형을 만들었습니다. dangerouslySetInnerHTML을 비롯한 여러 가지 방법을 시도했지만 성공하지 못했습니다.Reactjs에서 코드 생성 SVG를 렌더링하는 방법은 무엇입니까?
아래 예제에서 'return t'가 작동하고 'return svgRectElement'는 작동하지 않습니다.
svgRectElement에서 생성 한 svg를 어떻게 반환 할 수 있습니까? 감사!
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-wraping-dom-libs.md –
감사합니다 Andy. 아래의 Scarysize에 말했듯이, 내가하고 싶은 것은 동적 속성 (x, y 등)을 가진 SnapSvg로 내 svg를 생성 한 다음 React로 렌더링하는 것입니다. 나는 너와 그 사람 모두 똑같은 기술적 해결책을 제안했다고 생각한다. –