Javascript 如何防止在值更改时向下滚动受控文本区域

Javascript 如何防止在值更改时向下滚动受控文本区域,javascript,html,reactjs,react-redux,controlled-component,Javascript,Html,Reactjs,React Redux,Controlled Component,我有一个很长的文本区域,有100-200行。 它们对应于redux statephrases=[{id,text,…}],textarea的每一行都是一个phrases[id].text <textarea value={_.map(phrases, 'text').join('\n')}></textarea> 当我更改textarea时,它会发送redux状态的更改词组 当我从第一行更改一个字母时,页面滚动到末尾,光标转到第200行。但我希望页面的光标和滚动位置

我有一个很长的文本区域,有100-200行。 它们对应于redux state
phrases=[{id,text,…}]
,textarea的每一行都是一个phrases[id].text

<textarea value={_.map(phrases, 'text').join('\n')}></textarea>

当我更改textarea时,它会发送redux状态的更改
词组

当我从第一行更改一个字母时,页面滚动到末尾,光标转到第200行。但我希望页面的光标和滚动位置不会改变

我尝试使用event.target.selectionStart、selectionEnd,但即使光标返回其位置,页面也会滚动到屏幕末端

如何修复它


我创建了一个由计时器随机设置值的位置。它不会滚动到我的末尾。您的组件可能是重新创建的,而不是更新的(但它会滚动到顶部,而不是底部)。做一些简单的例子来重现。@skyboyer,你能看看我的吗?很难说,我在两个文本区域编辑了文本,页面没有向下滚动到我这里。@skyboyer,现在我明白了,只有当我添加新行时才会发生这种情况。谢谢你的回答