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

时间:2018-07-08 08:02:36

标签: javascript reactjs

我是新来的反应者,有我的代码

正在控制台中打印function isogram(a){ let b = Array.from(new Set(a)).join(''); if (a==b){ return true; } return false }; isogram('David'); //true isogram('Davidi'); //false ,如何使其工作?

undefined

1 个答案:

答案 0 :(得分:1)

这是因为,如果您运行以下代码,则在其中登录节点的块与功能块不同:

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

您将在控制台中看到node引用为<p>hello world!</p>。如果您想使用ref方法正确,则只需将其设置为具有良好作用域的适当变量即可,例如使用window.node测试 链接是:https://codesandbox.io/s/kxj92vojmo
 解决问题的最佳方法是使用状态管理器作为MobX在视图和viewModel之间共享引用和状态