Javascript 在React never运行中传递给元素ref的函数

Javascript 在React never运行中传递给元素ref的函数,javascript,reactjs,Javascript,Reactjs,我正在构建一个React符号数组,并将一个函数传递给ref,由于某种原因,该函数从未运行过。我相信我正在遵循有关如何做到这一点的文档。完成此操作时,应将.divElement设置为最后一个元素的本机DOM节点,但由于该函数从未运行,因此它保持为null divElement = null; render() { const activeKeys = ["test1", "test2", "test3"]; const infoDivs = activeKeys.map((k

我正在构建一个React符号数组,并将一个函数传递给
ref
,由于某种原因,该函数从未运行过。我相信我正在遵循有关如何做到这一点的文档。完成此操作时,应将.divElement设置为最后一个元素的本机DOM节点,但由于该函数从未运行,因此它保持为
null

divElement = null;

render() {

    const activeKeys = ["test1", "test2", "test3"];

    const infoDivs = activeKeys.map((key, i) => {
      console.log(key, i);
      return (
        <div 
          className="test"
          ref={ (divElement) => { alert('This never runs?'); this.divElement = divElement } }
        >
          Some div text.
        </divs>
      )
    });

    return (
        <span className="info-container container">
            { this.infoDivs }
        </span>
    )
}
divElement=null;
render(){
常量activeKeys=[“test1”、“test2”、“test3”];
constinfodivs=activeKeys.map((键,i)=>{
控制台日志(键,i);
返回(
{alert('This never runs?');This.divElement=divElement}
>
一些div文本。
)
});
返回(
{this.infoDivs}
)
}

我知道循环正在运行,因为它的日志记录是预期的三倍。我遗漏了什么?

显然你是想使用
{infoDivs}
,而不是
{this.infoDivs}
。返回元素的
infoDivs
变量只是
render
中的一个变量,而不是类字段

从不呈现
infoDivs
中的元素,因此
divElement
保持
undefined

return (
    <span className="info-container container">
        {infoDivs}
    </span>
)
返回(
{infoDivs}
)