Javascript: неправильная ширина слоя. - PullRequest
0 голосов
/ 08 мая 2020

Я работаю с D3. js и хочу знать ширину слоя, на котором я собираюсь создать график c. Эта ширина может быть разной, поэтому я не определил ширину конкретно.

Проведение теста с React и D3. js в CodeSandbox, пытаясь получить ширину слоя без ширины. Это слой:

enter image description here

Как вы можете видеть, у меня есть слой только с идентификатором. Если я попытаюсь узнать ширину ширины D3. js или javascript с помощью этого кода:

console.log(
  "width: " + d3.select("#" + this.props.idContainer).style("width")
);
console.log(
  "width2: " +
    document.querySelector("#" + this.props.idContainer).clientWidth
);

Результат будет:

enter image description here

Отлично !!! Все отлично работает !!! Но ... Если я попытаюсь сделать то же самое, запустив свое приложение, которое создано с помощью React, и использую D3, как тест в Codesandbox, с тем же браузером !!! У меня есть эти значения !!!

Сначала мы увидим слой, ширину которого я хочу знать ...

enter image description here

И это код, чтобы узнать ширину слоя в моем приложении:

console.log("WIDTH: " + d3.select("#" + this.props.idContainer).style("width"));
console.log(
  "width2: " +
    document.querySelector("#" + this.props.idContainer).clientWidth
);

Результаты, которые у меня есть:

enter image description here

Это потрясающе !!! Как такое возможно? Как узнать ширину слоя в моем приложении? Как такое возможно, что с тем же кодом в CodesanBox я получил ширину правильно, а в моем приложении - неправильные значения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...