我可以通过props.children React JS将道具传递给孩子们吗
Can I pass props to the children via props.children React JS
因此,如果我有一个组件的渲染方法调用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>
);
}
}
我们所做的是在场景管理器中只渲染其中一个场景,但正如我们在场景管理程序组件中所看到的;私有变量";称为CCD_ 1。
我想把这个传给孩子们,在这种情况下是ExampleSceneB
,因为这就是呈现到页面上的内容。
你所需要做的就是用你想要的额外道具克隆元素。像这样。
componentWillMount() {
const childrenWithProps = React.Children.map(this.props.children,
(child) => React.cloneElement(child, {
sceneManager: this._sceneManager
})
);
this._sceneManager.registerScenes(childrenWithProps);
}
相关文章:
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 在ReactJS中重新渲染孩子3次可以接受吗
- 如何从reactjs中的按钮向函数传递props
- React.cloneElement:传递新的孩子或复制props.children
- jQuery:下拉;选项:第一个孩子“;作为选择器
- Jquery/Javascript—查找父级's的兄弟姐妹's儿童'的孩子
- 动态地向孩子添加类
- 正在获取props值的子字符串-React
- 设置一个孩子'Firebase上带有字符串的名称
- 从ReactJS中的amplificPopup访问@props
- 当选择不同的父母时,我如何使条件形式的孩子消失并清除
- 让孩子们没有子孩子
- 如何倾听孩子们的心声;s儿童停止传播的事件
- 按顺序遍历孩子们
- 如何添加类并让孩子们关注keydown函数
- 我如何得到“孩子们”?或者函数的内容
- 我如何卸载只有一个在this.props.children的孩子
- 我可以通过props.children React JS将道具传递给孩子们吗
- 为孩子们创建一个JavaScript拖放编辑器,想要包含JSHint来检查语法-我该怎么做呢?
- 把一个孩子推向“;这个“;也会把它推到孩子身上'的孩子们..(Javascript)