Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 停止父组件的React Reender滚动到页面顶部_Javascript_Reactjs_Dom - Fatal编程技术网

Javascript 停止父组件的React Reender滚动到页面顶部

Javascript 停止父组件的React Reender滚动到页面顶部,javascript,reactjs,dom,Javascript,Reactjs,Dom,我有一个文本区域,它是编辑表单的一个单独的子组件,用户可以在其中输入长文本。在它上面,在父窗体中,我有一个保存按钮,我想禁用它,直到用户对文本进行实际更改。我现在触发了它,当进行更改时,它调用父组件,该组件触发SAVE按钮以启用(显示其颜色)。但我的问题是,当它这样做时,它也会跳到页面的顶部。光标停留在用户输入文本的位置,但滚动条会跳转。我意识到父级正在重新排序,因为按钮已更改,但我希望滚动保持在原来的位置,光标可见。我怎样才能做到这一点 组件重新渲染不应更改滚动位置。渲染不会放弃所有内容并用“

我有一个文本区域,它是编辑表单的一个单独的子组件,用户可以在其中输入长文本。在它上面,在父窗体中,我有一个保存按钮,我想禁用它,直到用户对文本进行实际更改。我现在触发了它,当进行更改时,它调用父组件,该组件触发SAVE按钮以启用(显示其颜色)。但我的问题是,当它这样做时,它也会跳到页面的顶部。光标停留在用户输入文本的位置,但滚动条会跳转。我意识到父级正在重新排序,因为按钮已更改,但我希望滚动保持在原来的位置,光标可见。我怎样才能做到这一点

组件重新渲染不应更改滚动位置。渲染不会放弃所有内容并用“新”渲染替换,而是计算旧DOM和新DOM之间的差异,并根据需要更改内容。可能还有其他问题-向我们展示您的父容器代码。请提供您的子组件和父组件的代码。谢谢Jered。你给了我足够的线索,让我找出了代码中的错误。我确实隐藏了一些旧代码,将页面提升到顶部。谢谢你的帮助!组件重新渲染不应更改滚动位置。渲染不会放弃所有内容并用“新”渲染替换,而是计算旧DOM和新DOM之间的差异,并根据需要更改内容。可能还有其他问题-向我们展示您的父容器代码。请提供您的子组件和父组件的代码。谢谢Jered。你给了我足够的线索,让我找出了代码中的错误。我确实隐藏了一些旧代码,将页面提升到顶部。谢谢你的帮助!