子供のコンポーネントに必要なプロパティを渡す独自のコンポーネント<Renderer/>
を作成する必要があると思います。何かのように:
考えるコード:
export default class WebGLCanvas extends Component {
render() {
return <CanvasContainer />; // use the canvas-container component
}
}
Canvasコンテナ:
this.setState({ width, height });
:
CanvasContainer
で
export default class CanvasContainer extends Component {
constructor(props) {
super(props);
// initialize the state
this.state = {
width: 0,
height: 0
};
}
render() {
const { width, height } = this.state;
return <Renderer width={width} height={height}></Renderer>
}
}
そして、あなたが設定どこwidth
とheight
、あなたは状態を介してそれらを設定します
これはを再レンダリングします
constructor() {
super();
this.state = {height: 0, width: 0};
}
componentDidMount() {
window.addEventListener('resize', this.resetDimensions);
this.resetDimensions();
}
componentWillUnmount() {
window.removeEventListener('resize', this.resetDimensions);
}
resetDimensions() {
var canvasContainer = this.refs.canvasContainer;
this.setState({width: canvasContainer.clientWidth, height: canvasContainer.clientHeight});
}
上記のコードは基本的には、Aセット:私はあなたがその子のイベントの寸法を計算するために、高さと幅が必要になりますRenderer
を実装しようとしていると思いますそのprops
キャンバスコンテナの幅と高さを取得する問題はまだ解決していません。 –
それは問題ではありませんでした。営業担当者は、彼はすでにどこかでそれを定義していると説明した。私は彼がコンポーネントの状態を設定し、それを小道具に通すべきだと説明した。 – nem035
私は、OPが「高さ」と「幅」をどこにでも持っているとは言いません。 –