javascript - 自动转到在 React Virtual Dom 中创建的 div 元素

标签 javascript reactjs ecmascript-6

我的网页使用 React 组件。在其组件 div 元素之一的呈现函数中,如下所示:

<div id='myid'>
  {/* ... */}
</div>

正在使用中。重新加载页面后,我们需要转到其中一个 div。例如,在重新加载该页面后,我们可能需要自动转到 <div>。 id 等于 myid 的元素.请注意 <div>在 React 虚拟 DOM 中,所以功能类似于 document.getElementById可能不起作用(因为它正在发生在我身上)。这可能吗?

最佳答案

<div>id将在安装组件时出现在文档中,因此您可以在 componentDidMount 中滚动到那里钩子(Hook)。

示例

class App extends React.Component {
  componentDidMount() {
    document.getElementById("myid").scrollIntoView();
  }
  render() {
    return (
      <div>
        <div style={{ height: 1000 }}>Hello CodeSandbox</div>
        <div style={{ height: 1000 }} id="myid">
          Scroll here
        </div>
      </div>
    );
  }
}

关于javascript - 自动转到在 React Virtual Dom 中创建的 div 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51115894/

相关文章:

javascript - IdentityServer3隐式流程不支持javascript

javascript - 在不使用jquery的情况下将g标签添加到svg标签中

javascript - 如何使用异步函数进行API调用?

javascript - 如何使用 javascript 调用 ALM 中存在的 uft 脚本?

reactjs - 当为组件提供唯一的键时,可以使用 Math.random() 来生成这些键吗?

javascript - 在 React 中显示来自 API 的图像

javascript - 选择嵌套数组对象并替换它

windows-7 - 如何在Windows操作系统中安装Babel?

javascript - 在具有特定属性的字典中查找值

javascript - react 更新永远循环 componentDidUpdate