如何解决反应状态改变时保持专注于输入
我正在写一个编辑器,希望对任何更改进行通知。
文件。所以我创建了一个组件树,每个节点都向父节点报告
通过getenv("DSN")
回调:
onChange(..)
现在,我必须创建一个// Pseudo structure.
Root {
const [changed,setChanged] = useState(true)
function onChange(..) {
setChanged(true);
}
return (
<App>
<Status saved={!changed} />
<Editor onChange={onChange}>
<Text onChange={onChange} />
<Image onChange={onChange} />
</Editor>
</App>
);
}
组件,其中每个单元格都是可编辑的输入
触发<Table>
回调。由于onChange
中的useState
,每个
当我们在表格中更改一个字母时,整个结构便呈现出来了。
但是渲染会导致焦点松散,这无疑使人烦恼
输入文字。我当前的解决方案是通过Root
将当前单元格保存在我的
新的useMemo
组件,并在呈现组件时请求焦点。
但是,我仍然松开插入符号的位置,我感觉这是一个错误
工作方式(这就是我联系您的原因)。
如何通知更改并更新Table
的状态,而又不会丢失
从一个输入集中?
谢谢
解决方法
我的建议
- 将无状态组件保留为子组件。
- 为每个单元格使用键,以避免从父级重新渲染。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。