Я работаю с D3. js и хочу знать ширину слоя, на котором я собираюсь создать график c. Эта ширина может быть разной, поэтому я не определил ширину конкретно.
Проведение теста с React и D3. js в CodeSandbox, пытаясь получить ширину слоя без ширины. Это слой:
Как вы можете видеть, у меня есть слой только с идентификатором. Если я попытаюсь узнать ширину ширины D3. js или javascript с помощью этого кода:
console.log(
"width: " + d3.select("#" + this.props.idContainer).style("width")
);
console.log(
"width2: " +
document.querySelector("#" + this.props.idContainer).clientWidth
);
Результат будет:
Отлично !!! Все отлично работает !!! Но ... Если я попытаюсь сделать то же самое, запустив свое приложение, которое создано с помощью React, и использую D3, как тест в Codesandbox, с тем же браузером !!! У меня есть эти значения !!!
Сначала мы увидим слой, ширину которого я хочу знать ...
И это код, чтобы узнать ширину слоя в моем приложении:
console.log("WIDTH: " + d3.select("#" + this.props.idContainer).style("width"));
console.log(
"width2: " +
document.querySelector("#" + this.props.idContainer).clientWidth
);
Результаты, которые у меня есть:
Это потрясающе !!! Как такое возможно? Как узнать ширину слоя в моем приложении? Как такое возможно, что с тем же кодом в CodesanBox я получил ширину правильно, а в моем приложении - неправильные значения?