android – React Native.当页面在计时器滴答时重新渲染时,如何将焦点保持在文本输入上

我正在编写一个计时器应用程序,在clojurescript中使用反应原生的 android(使用试剂,希望不重要).

我有一个TextInput,我接受用户的文本来命名计时器.每当我的计时器滴答时,整个Android应用程序重新渲染,我就会失去对TextInput的关注.我目前正在使用onChangeText来保存我正在键入的字符,有没有办法在计时器滴答作响时保持对文本输入的关注?

谢谢.

解决方法

最简单的解决方案是在componentDidUpdate方法调用this.refs.yourTextInput.focus().但是,这可能会导致键盘动画下来,然后再次动画.

问题的根源是您的计时器值和TextInput共享相同的范围,因此在更新状态时,通过render函数重新呈现计时器和TextInput.理想情况下,您可以:

将计时器文本放在自定义组件中,并在该自定义组件上添加方法以设置其自己的状态.只要自定义组件的状态是正在更新的状态,这将仅导致自定义组件重新呈现.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...