Javascript 在React never运行中传递给元素ref的函数
我正在构建一个React符号数组,并将一个函数传递给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
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}
)