Javascript 从React Ref对象访问道具

Javascript 从React Ref对象访问道具,javascript,reactjs,Javascript,Reactjs,是否有方法访问react组件的ref对象上的道具或数据属性。我一直在翻部件,什么也没找到。理想情况下,我希望访问我传递给它的有效道具。我愿意以另一种方式获取数据,但如果可能的话,最好是在ref对象中。React refs是获取React组件呈现的DOM元素引用的一种很好的方式,因此您实际上没有通过refs访问组件的权限,而只是组件打印到DOM的最新快照。看一看这张照片。但是,您确实可以访问DOM数据属性。下面是一个如何工作的例子。(注意:这不是通过应用程序传递数据的好方法) 从“React”导入

是否有方法访问react组件的ref对象上的道具或数据属性。我一直在翻部件,什么也没找到。理想情况下,我希望访问我传递给它的有效道具。我愿意以另一种方式获取数据,但如果可能的话,最好是在ref对象中。

React refs是获取React组件呈现的DOM元素引用的一种很好的方式,因此您实际上没有通过refs访问组件的权限,而只是组件打印到DOM的最新快照。看一看这张照片。但是,您确实可以访问DOM数据属性。下面是一个如何工作的例子。(注意:这不是通过应用程序传递数据的好方法)

从“React”导入React;
常量CustomDiv=({customRef,someProp})=>;
导出默认函数App(){
const customRef=React.createRef();
常量单击=()=>{
控制台日志(customRef.current);
log(customRef.current.getAttribute(“数据自定义属性”);
};
返回(
点击我
);
}
单击该按钮后,控制台日志将如下所示:

<div data-custom-attr="21"></div>
21 

21
您可以查看工作示例

希望有帮助


干杯 React REF是获取对React组件呈现的DOM元素的引用的一种很好的方法,因此您实际上没有通过REF访问组件的权限,而只是组件打印到DOM的最新快照。看一看这张照片。但是,您确实可以访问DOM数据属性。下面是一个如何工作的例子。(注意:这不是通过应用程序传递数据的好方法)

从“React”导入React;
常量CustomDiv=({customRef,someProp})=>;
导出默认函数App(){
const customRef=React.createRef();
常量单击=()=>{
控制台日志(customRef.current);
log(customRef.current.getAttribute(“数据自定义属性”);
};
返回(
点击我
);
}
单击该按钮后,控制台日志将如下所示:

<div data-custom-attr="21"></div>
21 

21
您可以查看工作示例

希望有帮助


干杯 如果我理解您的要求,只需将属性从
ref
中拉出即可获得属性。考虑下面的例子。

const{useRef,useffect}=React;
常量Foo=()=>{
const ref=useRef(null);
useffect(()=>{
如果(!ref.current){
返回;
}
log(`datafoo是${ref.current.dataset.foo}`);
}, []);
返回我有一个数据属性;
};
常量应用=()=>(
);
ReactDOM.render(,document.getElementById(“app”)

如果我理解您的要求,只需将属性从
ref
中拉出即可获得属性。考虑下面的例子。

const{useRef,useffect}=React;
常量Foo=()=>{
const ref=useRef(null);
useffect(()=>{
如果(!ref.current){
返回;
}
log(`datafoo是${ref.current.dataset.foo}`);
}, []);
返回我有一个数据属性;
};
常量应用=()=>(
);
ReactDOM.render(,document.getElementById(“app”)


发布一些代码来显示您的意思,但triedI无法准确显示对象。我将看看我是否可以制作一个工作代码pen解调react ref对象以任何方式访问组件的道具post一些代码显示了你的意思,但是triedI无法准确显示对象。我将看看我是否可以使一个工作代码笔解调react ref对象,以任何方式访问组件的道具