【发布时间】:2017-02-01 23:42:16
【问题描述】:
因此,如果我有一个带有渲染方法的组件,它调用 this.props.children 来渲染任何子级,我可以将任何道具从父级传递给它尝试渲染的子级吗?
例如,考虑以下情况:
import React, { Component } from 'react';
import CoreSceneManager from '../engine/scene_manager';
export default class SceneManager extends Component {
constructor(props) {
super(props);
this._sceneManager = new CoreSceneManager();
}
componentWillMount() {
this._sceneManager.registerScenes(this.props.children);
}
componentWillUnmount() {
this._sceneManager.exit();
}
render() {
return(
<div>
{this._sceneManager.getCurrentScene()}
</div>
);
}
}
这样使用:
export default class SceneHandeling extends Component {
constructor(props) {
super(props)
}
render() {
return(
<Loop>
<SceneManager>
<ExampleSceneA />
<ExampleSceneB />
</SceneManager>
</Loop>
);
}
}
我们所做的只是在场景管理器中渲染其中一个场景,但正如我们在场景管理器组件中看到的那样,我有一个名为 this._sceneManager 的“私有变量”。
我想把它传递给孩子们,在这种情况下是ExampleSceneB,因为这就是呈现给页面的内容。
【问题讨论】:
标签: javascript reactjs