主一直没有弄明白,那个 ref 对象 到底是啥? html 里面好像有, react 里面也经常看到,什么 useRef
类似于,
<input ref={这个东东} type="text" />
或者,reactjs 里面的 useRef,还经常看到 forwardRef, etc.
可是,一直都弄不明白,这个 Ref 到底是个啥?有没有文档能够言简意赅的讲清楚的?谢谢
p.s. 不知道这个主题是应该放到 html 还是 javascript,版主觉得要是不合适,帮忙搬一下。谢谢。
类似于,
<input ref={这个东东} type="text" />
或者,reactjs 里面的 useRef,还经常看到 forwardRef, etc.
可是,一直都弄不明白,这个 Ref 到底是个啥?有没有文档能够言简意赅的讲清楚的?谢谢
p.s. 不知道这个主题是应该放到 html 还是 javascript,版主觉得要是不合适,帮忙搬一下。谢谢。
如果是 react 或则其他三方库 ,ref 表示 这个元素的 引用, 可以通过它来使用真实的 dom 元素的一些方法和属性.
一般不推荐大面积用,Vue 的核心思路是自顶向下传递数据用 prop,自底向上传递数据用 event 。
一方面,React 是函数式编程,要想改变对象的状态,不是更新对象里面的值,而是用新的值重新生成一个新的对象。但任何模式都不是万能的,ref 的存在就是为了照顾一些确实需要访问同一对象的情况。
另一方面,React 里的<input ref={这个东东} type=”text” />也不是 html,而是 jsx,它是仿照 html 的语法写的,但又很不一样。
> 一方面,React 是函数式编程,要想改变对象的状态,不是更新对象里面的值,而是用新的值重新生成一个新的对象。但任何模式都不是万能的,ref 的存在就是为了照顾一些确实需要访问同一对象的情况。
哪些情况是 「照顾一些确实需要访问同一对象」,能举个例子吗?谢谢了
int a =20;
this.methodByRef(ref a);
Console.WriteLine(“a={0}”,a);
public void methodByRef(ref int a){
a=100;
}
/////////////////////////////////////
输出结果是:a=100;