Я хочу ссылаться на элемент, который находится в дочернем компоненте. Я использую document.getElementById
от его родительского компонента, и он работает хорошо, но я слышал, что лучше использовать ref
. Это правда? Если да, то как это делается?Как ссылаться на элемент в дочернем компоненте?
Родителя (контейнер) компонент:
import CanvasView from '../view/CanvasView'
export default class CanvasContainer extends Component {
componentDidMount(){
var c = document.getElementById('canvas')
//DO SOMETHING WITH c
}
render(){
return(
<CanvasView />
)
}
}
ребенок (презентация) компонент:
export default const CanvasView =() => (
<canvas id="canvas"></canvas>
)
с лицами без компонентов, которые вы не можете использовать 'refs', однако вы можете его с' React.Component' и 'React.createClass' как так - https://jsfiddle.net/ 69z2wepo/44464/ –
А, ок. Рекомендуете ли вы использовать 'React.Component', а затем использовать' ref' вместо компонента без состояния с 'getElementById' в родительском компоненте? – allegutta
с помощью 'getElementById' с React это плохие практики ... –