Javascript 将对函数创建的子对象的引用保留为子对象

Javascript 将对函数创建的子对象的引用保留为子对象,javascript,reactjs,scroll,map-function,react-proptypes,Javascript,Reactjs,Scroll,Map Function,React Proptypes,我目前有一个Feed组件。它接受一个dataprop,它是一个项目数组,以及一个childrenprop,它是将数据映射到DOM元素的函数 现在,我正在尝试创建滚动到此data属性中由children函数映射的任何元素的功能。但是,这意味着我需要存储对它的引用。我不确定是否有合适的语法/api。这是我的基本代码: class ScrollableFeed extends Component { static propTypes = { data: PropTypes.array,

我目前有一个
Feed
组件。它接受一个
data
prop,它是一个项目数组,以及一个
children
prop,它是将数据映射到DOM元素的函数

现在,我正在尝试创建滚动到此
data
属性中由
children
函数映射的任何元素的功能。但是,这意味着我需要存储对它的引用。我不确定是否有合适的语法/api。这是我的基本代码:

class ScrollableFeed extends Component {
  static propTypes = {
    data: PropTypes.array,
    children: PropTypes.func,
  };

  container = null;

  render() {
    const { data, children } = this.props;
    return (
      <div
        className={styles.feed}
        onScroll={this.onScroll}
        ref={e => { this.container = e; }}
      >
        {data.map(children)}
      </div>
    );
  }
}
类ScrollableFeed扩展组件{
静态类型={
数据:PropTypes.array,
子项:PropTypes.func,
};
container=null;
render(){
const{data,children}=this.props;
返回(
{this.container=e;}}
>
{data.map(子项)}
);
}
}
为了滚动到一个组件,我需要一个对dom元素的引用,这些元素已经被
子函数映射出来


如何在react中实现这一点?

我想我找到了解决方案。DOM元素有一个名为的属性。因此,我可以引用我的容器并获取子节点,这些子节点将由
子节点映射。然后我可以通过索引获取节点

getNodeAtIndex(index) {
  const { childNodes = [] } = this.container;
  const nodeIndex = Math.min(Math.max(index, 0), childNodes.length - 1);
  return childNodes[nodeIndex];
}

你能分享
Feed
组件的代码吗?对不起,这是
ScrollableFeed
的代码,只是类型不匹配,我指的是
ScrollableFeed
的父代码。