React отображает диаграммы d3 вне тела
Я пытаюсь создать тестовую среду для работы на D3, используя React
,
Я использую следующий код:
componentDidMount(){
d3.select(this._testChart)
.data(this.state.data)
.enter().append('div')
.style('background-color','blue')
.style('color', 'white')
.style('width', d=>d*10 + 'px')
.text(d=>d)
}
render(){
return (<div className='TestChart' ref={(c) => this._testChart = c}>
</div>)
}
Я получаю ref
для div
а затем в componentDidMount()
, Я добавляю div
который генерирует базовую гистограмму. Теперь, когда я запускаю этот код, я вижу гистограмму, но она отображается вне тела HTML. Я думаю, я не использую ref
правильно. Как я могу получить диаграмму внутри тела?
1 ответ
Ваш селектор d3 должен найти элемент по имени класса, а не по ссылке Реакт.
componentDidMount(){
d3.select(".TestChart" )
.data(this.state.data)
.enter().append('div')
.style('background-color','blue')
.style('color', 'white')
.style('width', d=>d*10 + 'px')
.text(d=>d)
}
render(){
return (<div className='TestChart'
</div>)
}