В настоящее время я выполняю миграцию моих компонентов реагирования на реагирующие хуки , но мне не хватает одного конкретного случая, который обращается к смонтированному элементу DOM .
Мой компонент использует React.class
структура:
import { Component } from "react";
import ReactDOM from "react-dom";
class LineGraph extends Component {
componentDidMount() {
this.element = ReactDOM.findDOMNode(this).parentNode;
}
render() {
return "";
}
}
Теперь, используя перехватчики реагирования, ReactDOM.findDOMNode(this)
выдает следующую ошибку:
Ошибка типа: response_dom__WEBPACK_IMPORTED_MODULE_1 ___ default.a.findDOMNode (...) равна нулю
Глядя на документацию ReactDOM # findDOMNode , я попытался использовать ссылки в возвращенном пустом элементе div, но после нескольких переменных элемента рисования становиться null
.
import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
export default function LineGraph () {
let myRef = React.createRef();
useEffect(() => {
element = ReactDOM.findDOMNode(myRef.current).parentNode;
}, []);
return (
<div ref={myRef}></div>
);
}
Я ищу чистый способ доступа к элементу DOM, в который вводится / монтируется мой код реакции.
Просто для контекста, мойцель состоит в том, чтобы внедрить svg-контент с помощью библиотеки d3, мой код хорошо работает с компонентами.