You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React JS:如何将函数参数转换为组件引用?

动态访问组件实例引用的解决方案

嘿,我懂你碰到的问题了——你想通过传入的字符串参数,动态调用对应的组件引用对吧?直接写this.value肯定不行,因为这里的value是个变量,而JavaScript里用点号.访问对象属性时,后面的名称是字面量,它会直接去找this上名为value的属性,而不是变量value里存的那个字符串(比如"Info")对应的属性。

正确的写法:使用方括号语法

要动态访问对象属性,你得用**方括号[]**语法,它会把括号里的表达式求值,然后用结果作为属性名去访问对象。修改你的代码如下:

changeMenu = (value) => {
  console.log(value); // 输出 "Info"
  scrollToComponent(this[value]); // 用方括号动态获取组件引用
};

额外注意事项

确保你的组件引用确实已经挂载到this上了,比如在render方法里应该有类似这样的代码:

render() {
  return (
    <div>
      <div ref={ref => this.Info = ref}>这是Info组件的内容</div>
      {/* 其他组件... */}
    </div>
  );
}

这样当你传入value为"Info"时,this[value]就能准确拿到对应的DOM/组件引用啦。

内容的提问来源于stack exchange,提问作者srailov kairat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:54:15