При написании адаптивного компонента ReCharts для веб-страницы передача строки в width
или height
опору ResponsiveChart
действительна и будет отображаться в разметке HTML. Однако для компонента диаграммы ниже (LineChart
или любой другой диаграммы) требуется указанная c целочисленная ширина. Если он получит строку, он не сможет проверка ширины / высоты и вернуть ноль вместо рендеринга.
Предположительно ResponsiveChart
отвечает за отправку правильной ширины / Высота опоры для детей это отзывчиво. Но по какой-то причине он не делает этого при монтировании (возможно, потому, что JsDom не эмулирует некоторую особенность window
), поэтому вместо этого он отправляет строки, что приводит к тому, что диаграмма не отображает свои дочерние элементы без возврата или регистрации любое сообщение об ошибке.
Чтобы исправить это, добавьте допустимое целочисленное значение для ширины и высоты:
<ResponsiveContainer width={700} height={300}>
<LineChart data={data}>
<Line dataKey="test"/>
</LineChart>
</ResponsiveContainer>
В моем случае я добавил опору, чтобы оставить строку в качестве значения по умолчанию, но разрешить переопределение в контексте теста ie: width={this.props.width || "99%"}
.