Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何在无状态函数中使用ref?

Javascript 如何在无状态函数中使用ref?,javascript,reactjs,Javascript,Reactjs,我是react的新手,这是我的代码 它正在控制台中打印未定义的,如何使其工作 const Example = () => { let node; return ( <div> <p ref={el => (node = el)}>hello world!</p> {console.log(node)} </div> ); }; const rootElement = docume

我是react的新手,这是我的代码

它正在控制台中打印
未定义的
,如何使其工作

const Example = () => {
  let node;
  return (
    <div>
      <p ref={el => (node = el)}>hello world!</p>
        {console.log(node)}
    </div>
  );
};

const rootElement = document.getElementById("root");
ReactDOM.render(<Example />, rootElement);
const示例=()=>{
let节点;
返回(

(node=el)}>你好,世界

{console.log(node)} ); }; const rootElement=document.getElementById(“根”); render(,rootElement);
这是因为,如果运行以下代码,则记录节点的块与功能块不同:

const Example = () => {
  let node;
  return (
    <div>
      <p
        ref={el => {
          node = el;
          console.log(node);
        }}
      >
        hello world!
      </p>
      {console.log(node)}
    </div>
  );
};
const示例=()=>{
let节点;
返回(

{ 节点=el; console.log(节点); }} > 你好,世界!

{console.log(node)} ); };
您将看到
节点
ref作为
hello world

在您的控制台中。如果您想使用ref,那么您只需要将其设置为具有良好范围的适当变量,例如使用
window.node
test 链接是:。

解决问题的最佳方法是使用状态管理器作为MobX在视图和视图模型之间共享参考和状态