反应得到所有孩子参考
react get all children refs
我有一个渲染动态子项的组件,这些子项中的每一个都需要为其分配一个引用,例如 ref={'childID' + index}
一旦孩子们加载了,我就需要一种方法来循环孩子们并获得他们的参考。
有什么办法可以做到这一点吗?
您应该能够使用 Object.keys
遍历this.refs
对象。
Object.keys(this.refs).forEach(key =>
const ref = this.refs[key];
...
);
您可以使用 ref
道具的回调样式来收集所有引用。
下面是一个粗略的示例。
var refs = {};
function refCollector(id) {
return function(element) {
refs[id] = element;
if(allRefsCollected()) {
// do some work with all refs
}
}
}
function allRefsCollected() {
return Object.keys(refs).length >= children.length;
}
return children.map((Child, index) => {
return <Child ref={refCollector(index)} />;
});
当allRefsCollected
返回 true 时,您将知道所有子项都已呈现,refs
将是一个对象,将id
映射到element
。
相关文章:
- 相位器状态未捕获参考错误
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 聚合物0.5.5:核心列表中的条件模板和/或模板动态参考
- Javascript袖珍参考,第121页:这是怎么回事;猴子补丁”;方法应该有效
- 在ReactJS中重新渲染孩子3次可以接受吗
- 防止“;jQuery(html)"防止触发浏览器请求图像和其他参考内容
- Rails 4资产管道Heroku生产javascript参考问题
- 在参考行中显示多选选项
- React.cloneElement:传递新的孩子或复制props.children
- jQuery:下拉;选项:第一个孩子“;作为选择器
- Jquery/Javascript—查找父级's的兄弟姐妹's儿童'的孩子
- 外部图书馆与“<参考路径=“;用于WebStorm中的TypeScript
- 动态地向孩子添加类
- Ember.js:未在组件'中渲染的模型的计算属性;关于变更的参考
- 实际参考和使用HTML5捕获的图像
- 我该如何解决这个问题;参考网格”;在JavaScript中完成的对象数
- 设置一个孩子'Firebase上带有字符串的名称
- 参考Firefox插件's install.rdf em:xul文件中的版本
- 角度参考误解
- 反应得到所有孩子参考