Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过ref或prop更改React中的子组件?_Javascript_Reactjs - Fatal编程技术网

Javascript 通过ref或prop更改React中的子组件?

Javascript 通过ref或prop更改React中的子组件?,javascript,reactjs,Javascript,Reactjs,假设我有一个子组件。假设我想根据父对象拥有的信息更改其高度 如果我得到一个参考。我可以用它来换 myChild.changeHeight(newHeight); (见附件) 或者我可以用它来换 <Child height={newHeight}/> 两者都可以在render()方法中更改。但是我应该使用哪一个呢?给出了几个我们应该使用ref的场景 REF有几个很好的用例: 管理焦点、文本选择或媒体播放 触发命令式动画 与第三方DOM库集成 避免对任何可以声明式完成的操作使

假设我有一个子组件。假设我想根据父对象拥有的信息更改其高度

如果我得到一个参考。我可以用它来换

myChild.changeHeight(newHeight);
(见附件)

或者我可以用它来换

<Child height={newHeight}/>

两者都可以在render()方法中更改。但是我应该使用哪一个呢?

给出了几个我们应该使用ref的场景

REF有几个很好的用例:

  • 管理焦点、文本选择或媒体播放
  • 触发命令式动画
  • 与第三方DOM库集成
避免对任何可以声明式完成的操作使用引用


如果有可能在不使用REF的情况下执行某些功能,请继续执行。在你的情况下,正如你所说,你有一种方法可以通过传递道具来做到这一点。如果我们使用道具本身,而不是参考道具,那会更好。

使用道具,这是标准的方法,否则看起来像是一个糟糕的黑客